sqlite数据库默认值

在sqlite数据库中,迁移数据库之后,又在数据库中添加了将一些列,此时,在之前添加的数据中并没有该字段的数据。此时,有两个选项供我们添加该字段
——————————————第一种——————————————

#在models.py中添加默认值,迁移数据库时,系统会自动填充该字段
owner=models.ForeignKey(User,on_delete=models.CASCADE,default=1)
#在传递的参数中添加default值,填充该字段
#注意,default参数不是数据本身,而是这条数据的id值

在编写models.py之后,重新迁移数据库
——————————————第二种——————————————
在models.py中不写入默认值

owner=models.ForeignKey(User,on_delete=models.CASCADE)
#此时未传递默认参数值

添加后,重新迁移数据库,

python manage.py makemigrations appname
#重新迁移数据库
#此时会检测到新增加的字段没有数据系统会询问怎样为此字段增加数据
#显示两种方式,第一种方式为现在提供默认值,或者退出后在数据库中添加默认值
Select an option:
#上一行为系统让你选择增加数据方式
#选择1为现在添加默认值,二为退出后,在models.py中添加默认值
#此时我们选择1。选择2时,请参考第一种方法
The datetime and django.utils.timezone modules are avilable, so you can do e.g. timezone.now()
>>>
#上两行为系统显示,让你选择关联哪个数据,输入的值不是数据,而是想要关联数据的id值

此时,关联数据的两种方法全部完成,大家选择任意一种
以上为个人总结,如有错误,敬请指正

猜你喜欢

转载自blog.csdn.net/Xiang_lhh/article/details/104970277