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

相关推荐
曹牧4 小时前
C#:空合并运算符
java·前端·数据库
happylifetree5 小时前
Python67:核心语法-函数进阶-参数类型(函数作为参数)
python
小羊没烦恼!5 小时前
铁道部新客票系统设计(二)
开发语言·前端·数据库·python·oracle·c#·php
quantdash_cc6 小时前
从实时行情到价格观察表:用 Python 和 Pandas 构建策略输入数据
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
镜子AI6 小时前
镜子AI工程实践:用 Python 做 GEO 实体一致性审计,并自动生成 JSON-LD 结构化数据
人工智能·python·json
泡海椒6 小时前
JQuick-SQL JOIN 查询:连接注册数据集的正确方式
数据库·sql
xiaogai_gai7 小时前
钉钉月结报销到金蝶付款单同步方案实战教程
大数据·数据库·钉钉
Nturmoils7 小时前
报表总在扫大表,列存储应该放在哪一层
数据库
夜雪一千8 小时前
ShardingSphere 雪花 / UUIDv7 主键分片实战 + SQL 建表示例
数据库·sql