如何在 Django 中使用 force_update?
Posted
技术标签:
【中文标题】如何在 Django 中使用 force_update?【英文标题】:How to use force_update in Django? 【发布时间】:2021-12-14 07:05:41 【问题描述】:a = Article(title="New Article", slug="new-article")
a.save()
print a
输出
New Article
我如何使用 force_update 仅更新 title
。
【问题讨论】:
您不是在更新,而是在创建一条新记录。 【参考方案1】:你可以试试这个方法:
a = Article(title="New Article")
a.save(force_insert=True)
print a
New Article
a.title = "Better Title"
a.save(force_update=True)
print a
【讨论】:
是的,我正在找这个,谢谢@gretal【参考方案2】:Models.py:
class Article(models.Model):
title = models.CharField(max_length=50)
slugfield ...
Views.py:
#Create a model instance
a = Article(title="New Article", slug="new-article")
a.save()
#Article object created
#To update an existing article object first select that object by,
article_to_be_updated = Article.objects.get(id = #article's id)
#now update the selected articles field and then save it by,
article_to_be_updated.title = "updated title"
article_to_be_updated.save()
#updated only the title and reflected changes to DB
【讨论】:
【参考方案3】:如果你想用给定的 slug 更新记录,你可以这样做:
Article.objects.filter(slug='new-article')<strong>.update(title='New Article')</strong>
【讨论】:
以上是关于如何在 Django 中使用 force_update?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Django Rest Framework 在 Django 中进行操作日志记录