gpt4 book ai didi

Django模型字段在添加新字段时基于同一模型中的另一个字段添加默认值

转载 作者:行者123 更新时间:2023-12-01 11:28:10 25 4
gpt4 key购买 nike

我有这个领域,

job_created = models.DateTimeField(auto_now_add=True)

现在我想添加这样的东西,如何将默认值基于 post_created 本身。我希望第一个 last_modified 是在创建工作时,我想要类似的东西
last_modified = models.DateTimeField(auto_now=True, default = post_created)

或者,如果我在运行迁移时提供一个默认值,该怎么做?

最佳答案

基本上你不能,但你可以创建一个 data migration

def set_last_modified(apps, schema_editor):
MyModel = apps.get_model('myapp', 'MyModel')

for obj in MyModel.objects.all():
obj.last_modified = obj.post_created
obj.save()


class Migration(migrations.Migration):

dependencies = [
('myapp', 'previous_migration'),
]

operations = [
# Doesn't need to do anything in reverse, models have not been changed
migrations.RunPython(set_last_modified, migrations.RunPython.noop)
]

您应该通过运行获取此迁移的模板
migrations --empty yourappname

关于Django模型字段在添加新字段时基于同一模型中的另一个字段添加默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35481464/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com