首页 python正文

Django 数据库表生成与修改操作详解

启明SEO python 2023-05-24 12:26:11 1223 0 django数据库

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创建数据表及表字段,如下图:

Django 数据库表生成与修改操作详解

如果要进行修改,我们先需要修改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即可完成新字段的创建。如下图:

Django数据库修改

修改后的表结构如下图:

Django数据库修改

评论

Python好学公众号

好文推荐

实时访客入口页面出现bd_vid=标识是什么原因

实时访客入口页面出现bd_vid=标识是什么原因

最近查看百度实时访客,总是会看到入口页面会多......

有了微信视频号,但是没有发布权限,怎么开通

有了微信视频号,但是没有发布权限,怎么开通

视频号是微信在2020年1月19号开始内测的......

如何用python抓取爱企查企业信息

如何用python抓取爱企查企业信息

前段时间,经理让我去找一些企业的信息,我平常......

服务器配置低,宝塔面板安装IIS总是安装不上怎么办

服务器配置低,宝塔面板安装IIS总是安装不上怎么办

对于一般企业网站或者博客来说,对服务器的配置......

如何修改浏览器指纹,Canvas指纹、Webgl指纹、Audio指纹修改方法?

如何修改浏览器指纹,Canvas指纹、Webgl指纹、Audio指纹修改方法?

修改浏览指纹的方法其实也是很简单,主要使用到......

win10下安装MYSQL后,提示Can't connect to MySQL server on localhost (10061)相关问题解决方法

win10下安装MYSQL后,提示Can't connect to MySQL server on localhost (10061)相关问题解决方法

我遇到的问题是电脑原先安装过mysql,卸......