python - 复制模型实例并更新字段

标签 python django django-models

我正在尝试复制页面模型的实例并将新页面的状态设置为“草稿”。此代码在 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/

相关文章:

python - 如何找到两个 Django 查询集的联合?

python - python -m 标志的含义

python - 无法解析 XML 响应并获取元素

Django 和 celery : How do I schedule a job to run only once using Celery(similar to "at" command in linux)?

python - 如何删除 Django 模型中的记录?

python - 基于外键的django autoincrement

python - 在 Matlab 排序中从 numpy 数组顺序获取数据

python - 在 Python 中将 .txt 文件转换为 .xls

django - 使用 Docker 部署 Django 应用

python - Python 对于大型应用程序是否足够好?