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

相关推荐
Ricardo-Yang17 小时前
SCNP语义分割边缘logits策略
数据结构·人工智能·python·深度学习·算法
014-code17 小时前
MySQL 常用业务 SQL
数据库·sql·mysql
知识分享小能手17 小时前
MongoDB入门学习教程,从入门到精通,MongoDB的选择片键 - 完整知识点(16)
数据库·学习·mongodb
知识分享小能手17 小时前
MongoDB入门学习教程,从入门到精通,MongoDB分片配置完全指南(15)
数据库·学习·mongodb
soragui17 小时前
【Python】第 4 章:Python 数据结构实现
数据结构·windows·python
y = xⁿ17 小时前
【MySQL】数据库的脏读,不可重复读和幻读,覆盖索引是什么,索引类型有哪些
数据库·mysql
小冷coding18 小时前
【面试】结合项目整理的场景面试题,覆盖 Java 基础、锁、多线程、数据库、分布式锁 / 事务、消息中间件等核心维度
java·数据库·面试
和小潘一起学AI18 小时前
CentOS 7安装Anaconda
开发语言·python
kcuwu.18 小时前
Python 正则表达式从入门到实战
数据库·python·正则表达式