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

相关推荐
羑悻的小杀马特29 分钟前
PostgreSQL + Cpolar 组合拳,彻底打破局域网限制,远程访问数据库像本地一样简单
数据库·postgresql
yunhuibin33 分钟前
LeNet
人工智能·python
松涛和鸣37 分钟前
DAY61 IMX6ULL UART Serial Communication Practice
linux·服务器·网络·arm开发·数据库·驱动开发
二哈喇子!7 小时前
MySQL数据更新操作
数据库·sql
二哈喇子!7 小时前
MySQL命令行导入数据库
数据库·sql·mysql·vs code
心动啊1217 小时前
SQLAlchemy 的使用
数据库
jaray7 小时前
PyCharm 2024.3.2 Professional 如何更换 PyPI 镜像源
ide·python·pycharm·pypi 镜像源
Psycho_MrZhang7 小时前
Neo4j Python SDK手册
开发语言·python·neo4j
web3.08889997 小时前
1688图片搜索API,相似商品精准推荐
开发语言·python
少云清8 小时前
【性能测试】15_JMeter _JMeter插件安装使用
开发语言·python·jmeter