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

相关推荐
qq_3806191613 小时前
html怎么用deno运行_Deno如何作为本地服务器运行HTML文件
jvm·数据库·python
小鱼~~13 小时前
进程和线程
python
ruan11451413 小时前
Redis--个人学习记录
数据库·redis·学习
小红的布丁13 小时前
BIO、NIO、AIO 与 IO 多路复用:select、poll、epoll 详解
java·数据库·nio
袋鼠云数栈13 小时前
AI 时代,企业为何必须重新思考数据底座?
数据库·数据治理·数据中台·数栈·袋鼠云
Elastic 中国社区官方博客13 小时前
在 Elastic 中使用 OpenTelemetry 内容包可视化 OpenTelemetry 数据
大数据·开发语言·数据库·elasticsearch·搜索引擎
断眉的派大星13 小时前
pytorch中保存训练模型和加载训练模型的用法
人工智能·pytorch·python
C+++Python13 小时前
如何学习Python的应用领域知识?
开发语言·python·学习
疯狂打码的少年13 小时前
【Day12 Java转Python】Python工程的“骨架”——模块、包与__name__
java·开发语言·python
Mike117.13 小时前
GBase 8a UNION 和 UNION ALL 的使用边界
大数据·数据库