Django数据库如何在原有表中添加新字段

 更新时间:2023年09月15日 16:56:29   作者:北望灬CTO  
这篇文章主要介绍了Django数据库如何在原有表中添加新字段问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Django数据库在原有表中添加新字段

(注:本人用的pycharm开发工具)

1、在你要添加新字段的app的 models.py 文件中添加需要新增的字段(这里新增的是dress字段):

from django.db import models
# Create your models here.
class Test(models.Model):
    name=models.CharField(max_length=20)
    age=models.IntegerField(blank=True,null=True)
    sex=models.CharField(max_length=2)
    dress=models.CharField(max_length=1000)

2、在工程目录打开命令行窗口输入:python manage.py makemigrations AppTest(个人App文件名)

(我的是pycharm,如图)

3、输入:1(这里要求你设置新建字段的默认值,它会在新建这个字段的同时把默认值也添加上去,)

4、如果不想让它有值,我们直接输''(中间没有空格),一样能达到效果,但是不能不设置默认值,(如果是数值类型呢,默认值为 ''不行,如果是年龄,需设置blank=True和null=True。) 

  • blank:设置为True时,字段可以为空。设置为False时,字段是必须填写的。字符型字段CharField和TextField是用空字符串来存储空值的。如果为True,字段允许为空,默认不允许.
  • null:设置为True时,django用Null来存储空值。日期型、时间型和数字型字段不接受空字符串。所以设置IntegerField,DateTimeField型字段可以为空时,需要将blank,null均设为True。如果为True,空值将会被存储为NULL,默认为False。如果想设置BooleanField为空时可以选NullBooleanField型字段。

5、最后输入:python manage.py migrate

查看数据库,新字段已经加进去了,如果你设置了默认值,原来的这些数据的值都会设为你设置的默认值。

Django无法添加新字段,django.db.utils.OperationalError: (1050, "Table app already exists")

要修改的表长这样,我要添加一个叫做category的字段

class AppInfo(models.Model):
    name = models.CharField(max_length=255, null=True)
    version = models.CharField(max_length=50, null=True)
    category = models.CharField(max_length=30, null=True)##这一行是我要新添加的

无论是python makemigartions 还是python migrate都有问题,上网上查了一圈也都有问题,用了什么--fake也没用,最后这样解决了

python manage.py shell
>>> from django.db import connection
>>> cursor = connection.cursor()
>>> cursor.execute('ALTER TABLE appId_appinfo add category varchar(30) default ""')

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python for循环与getitem的关系详解

    Python for循环与getitem的关系详解

    这篇文章主要介绍了Python for循环与getitem的关系详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • Python如何实现自动生成指定文件名并自定义后缀名

    Python如何实现自动生成指定文件名并自定义后缀名

    这篇文章主要为大家详细介绍了Python如何实现名称为000- 999-文件的自动生成,并且后缀名可以自定义,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-02-02
  • python中使用xlrd读excel使用xlwt写excel的实例代码

    python中使用xlrd读excel使用xlwt写excel的实例代码

    这篇文章主要介绍了python中使用xlrd读excel使用xlwt写excel的实例代码,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-01-01
  • 运用PyTorch动手搭建一个共享单车预测器

    运用PyTorch动手搭建一个共享单车预测器

    这篇文章主要介绍了运用PyTorch动手搭建一个共享单车预测器,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • python异步编程 使用yield from过程解析

    python异步编程 使用yield from过程解析

    这篇文章主要介绍了python异步编程 使用yield from过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • Python常用数据类型之列表使用详解

    Python常用数据类型之列表使用详解

    列表是Python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[ ]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型。本文将通过示例详细讲解列表的使用,需要的可以参考一下
    2022-04-04
  • pycharm必知的一些简单设置方法

    pycharm必知的一些简单设置方法

    这篇文章主要介绍了pycharm必知的一些简单设置方法,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • Django form表单与请求的生命周期步骤详解

    Django form表单与请求的生命周期步骤详解

    这篇文章主要介绍了Django-form表单与请求的生命周期,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • 在pycharm中python切换解释器失败的解决方法

    在pycharm中python切换解释器失败的解决方法

    今天小编就为大家分享一篇在pycharm中python切换解释器失败的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • python+tkinter可视化GUI方式

    python+tkinter可视化GUI方式

    文章介绍了使用Python的tkinter库创建GUI窗口的过程,包括窗口和标签的定义、Entry和Text控件的基本属性和使用方法、网格布局的应用、按钮绑定事件和弹窗的使用、Combox下拉框的添加、控件属性值的获取和更改,以及tkinter自带的剪切板操作
    2026-04-04

最新评论