Django-添加模块-数据迁移

     阅读:68

一、产品管理模块块后台功能开发

步骤一:创建product应用

步骤二:在product/admin.py中增加如下代码

from django.contrib import admin

from product.models import Product



class ProductAdmin(admin.ModelAdmin):
    list_display = ['productname', 'productdesc','producter','create_time','id']   

admin.site.register(Product)  #把产品模块注册到后台并能显示

步骤三:在product/models.py中增加如下代码

from django.db import models


class Product(models.Model):
    productname = models.CharField('产品名称',max_length=64)  # 产品名称
    productdesc = models.CharField('产品描述',max_length=200)    # 产品描述
    producter = models.CharField('产品负责人',max_length=200,null=True)    # 产品负责人
    create_time = models.DateTimeField('创建时间',auto_now=True)  # 创建时间-自动获取当前时间
    class Meta:
        verbose_name = '产品管理'
        verbose_name_plural = '产品管理'

    def __str__(self):
        return self.productname

步骤四:在autotest/setting.py文件中加入应用,把新加的product加入到应用中

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'apitest',
    'product',
    
]

步骤五:同步数据库

python manage.py makemigrations

python manage.py migrate 

输入此命令后,迁移没成功

此时点击产品管理页面,点击保存,则会报错A server error occurred. Please contact the administrator.

出现问题原因:数据库迁移没有成功,此时换做以下命令尝试

python manage.py makemigrations product

Python manage.py migrate

则会在django_migrations表中,多一条product数据,则才会迁移成功

 步骤六:登录页面,添加产品数据,然后点击产品管理