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进行修改。

相关推荐
jran-3 分钟前
MySQL 用户与权限
数据库·mysql
EnCi Zheng4 分钟前
09-斯坦福CS336作业 [特殊字符]
人工智能·pytorch·python·深度学习·神经网络
端平入洛4 分钟前
Python 切片赋值 vs 普通赋值:你真的改了那个 list 吗?
python
無限進步D10 分钟前
MySQL 排序与分页
数据库·mysql
大G的笔记本17 分钟前
Redis 分布式锁自动续期机制
数据库·redis·分布式
Solis程序员18 分钟前
跳出 CRUD:深入剖析 Redis 管道 Pipeline 底层通信机制
数据库·redis·缓存
smj2302_7968265241 分钟前
解决leetcode第3934题最短唯一子数组
数据结构·python·算法·leetcode
夏贰四43 分钟前
数据转换分哪些应用类型?数据转换如何做好规范管控?
大数据·数据库·数据转换
我科绝伦(Huanhuan Zhou)1 小时前
KingbaseES 数据库智能巡检工具
数据库
WL_Aurora1 小时前
Python 算法基础篇之查找算法(二):斐波那契查找、分块查找与哈希查找
python·哈希算法·查找