Django数据库选移的preserve_default=False是什么意思?

有下面的迁移命令:

python 复制代码
        migrations.AddField(
            model_name='movie',
            name='mov_group',
            field=models.CharField(default=django.utils.timezone.now, max_length=30),
            preserve_default=False,
        ),

迁移命令中的preserve_default=False是什么意思呢?

答:如果模型定义中定义了这个字段的值不能为空,那么在创造模型时如果数据库中已有记录,则会让你为已经有的行提供默认值, 这个默认值在命令行时通常只能填为timezone.now,自己手动填一个值会报错。

preserve_default=False表示当这个模型创造成功后,你后续新建行时的默认值就不再使用刚才指定的默认值了,而由用户来指定了。就是这个意思。这也通常是用户的意思,所以一般在修改数据库迁移命令行时,并不会对语句preserve_default=False进行修改。

相关推荐
工业互联网专业6 分钟前
基于协同过滤算法的小说推荐系统_django+spider
python·django·毕业设计·源码·课程设计·spider·协同过滤算法
万事大吉CC10 分钟前
SQL表设计与约束教程
数据库·sql
星星的月亮叫太阳12 分钟前
large-scale-DRL-exploration 代码阅读 总结
python·算法
员大头硬花生25 分钟前
七、InnoDB引擎-架构-后台线程
java·数据库·mysql
Q_Q196328847531 分钟前
python+django/flask基于Echarts+Python的图书零售监测系统设计与实现(带大屏)
spring boot·python·django·flask·node.js·php
Ryan ZX34 分钟前
etcd 高可用分布式键值存储
数据库·分布式·etcd
研究司马懿39 分钟前
【ETCD】ETCD——confd配置管理
数据库·golang·自动化·运维开发·etcd·argocd·gitops
..Cherry..39 分钟前
Etcd详解(raft算法保证强一致性)
数据库·算法·etcd
深度学习lover1 小时前
<数据集>yolo航拍交通目标识别数据集<目标检测>
人工智能·python·yolo·目标检测·计算机视觉·航拍交通目标识别
程序猿20231 小时前
Python每日一练---第二天:合并两个有序数组
开发语言·python