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

相关推荐
罗罗攀7 分钟前
PyTorch学习笔记|张量的广播和科学运算
人工智能·pytorch·笔记·python·学习
小江的记录本20 分钟前
【MyBatis-Plus】Spring Boot + MyBatis-Plus 进行各种数据库操作(附完整 CRUD 项目代码示例)
java·前端·数据库·spring boot·后端·sql·mybatis
wanhengidc23 分钟前
《三国志异闻录》搬砖新游戏 云手机
运维·服务器·数据库·游戏·智能手机
傻啦嘿哟27 分钟前
Python 操作 Excel 条件格式指南
开发语言·python·excel
2301_8073671928 分钟前
Python日志记录(Logging)最佳实践
jvm·数据库·python
2301_7957417940 分钟前
构建一个基于命令行的待办事项应用
jvm·数据库·python
小鸡吃米…1 小时前
Python 网络爬虫 —— 环境设置
开发语言·爬虫·python
FITA阿泽要努力1 小时前
《实战SQL: GROUP BY》
数据库·sql
sw1213891 小时前
Python字典与集合:高效数据管理的艺术
jvm·数据库·python
进击的小头1 小时前
第13篇:基于伯德图的超前_滞后校正器深度设计
python·算法