我正在尝试复制页面模型的实例并将新页面的状态设置为“草稿”。此代码在 Django shell 中完美运行,但在它所在的管理操作中,创建了一个新实例,但状态未更新。
for page in pages:
page.pk, page.id = None, None
page.save()
page.status = Page.DRAFT
page.updated_at = datetime.now()
page.save(force_update=True)
所以上面的代码创建了一个新页面,但没有改变它的状态。
我认为这可能与页面具有代理模型有关,具体取决于状态(PublishedPage、DraftPage 等),但我不确定问题是什么。
最佳答案
不要。
for page in pages:
new_page= Page.objects.create(
this= page.this, that=page.that, ...
status= Page.DRAFT )
简单得多。更清楚了。它确实有效。
关于python - 复制模型实例并更新字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7520460/