Django 数据库表生成与修改都需要用到 python manage.py makemigrations(创建或更改数据库)和 python manage.py migrate(将生成的py文件应用到数据库)命令。
对应的数据库表结构我们需要在models.py文件中创建与修改,如下代码:
class seo(models.Model): name=models.CharField(max_length=10,verbose_name='名称',default='',blank=True) host=models.CharField(max_length=50,verbose_name='主域名',default='/',blank=True) title=models.CharField(max_length=100,verbose_name='seo标题',blank=True) keywords=models.CharField(max_length=50,verbose_name='关键词',blank=True) logo=models.ImageField(upload_to='static/images',default='',blank=True) ico=models.ImageField(upload_to='static/images',default='',blank=True) description=models.CharField(max_length=150,verbose_name='描述',blank=True) jianjie=models.CharField(max_length=150,verbose_name='简介',default='',blank=True) beian=models.CharField(max_length=20,verbose_name='备案号',default='',blank=True) beijing=models.ImageField(upload_to='static/images',default='',blank=True) tongji=models.TextField(verbose_name='统计',default='',blank=True) def __str__(self): return self.title class Meta: verbose_name='SEO设置' verbose_name_plural=verbose_name
类名则是生成的数据库表的名称,变量则是表中的字段。设置好models.py文件后,我们依次使用命令python manage.py makemigrations,python manage.py migrate创建数据表及表字段,如下图:
如果要进行修改,我们先需要修改models.py文件中对应的类,比如对上面代码进行修改,增加一个字段age,我们只需要做如下修改
class seo(models.Model): name=models.CharField(max_length=10,verbose_name='名称',default='',blank=True) host=models.CharField(max_length=50,verbose_name='主域名',default='/',blank=True) title=models.CharField(max_length=100,verbose_name='seo标题',blank=True) keywords=models.CharField(max_length=50,verbose_name='关键词',blank=True) logo=models.ImageField(upload_to='static/images',default='',blank=True) ico=models.ImageField(upload_to='static/images',default='',blank=True) description=models.CharField(max_length=150,verbose_name='描述',blank=True) jianjie=models.CharField(max_length=150,verbose_name='简介',default='',blank=True) beian=models.CharField(max_length=20,verbose_name='备案号',default='',blank=True) beijing=models.ImageField(upload_to='static/images',default='',blank=True) age=models.CharField(max_length=20,verbose_name='年龄',default='',blank=True) tongji=models.TextField(verbose_name='统计',default='',blank=True) def __str__(self): return self.title class Meta: verbose_name='SEO设置' verbose_name_plural=verbose_name
再依次使用命令python manage.py makemigrations,python manage.py migrate即可完成新字段的创建。如下图:
修改后的表结构如下图:
评论