gpt4 book ai didi

python - 如何通过模型的方法 django 更新对象

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

我需要编写通过参数传递的更新对象的方法。一些东西,像这样:

class ArticlesSerie(models.Model):
title = models.CharField(max_length=120)


def add_article(self, article):
article.serie = self
article.save()

和模型文章:

class Article(models.Model):
...
serie = models.ForeignKey(ArticlesSerie, blank=True, null=True)
...

但是当我尝试在 shell 中使用方法 add_article 时,此代码会导致错误:

a = Article.objects.get(id=4)
b = ArticlesSerie.objects.get(id=1)
b.add_article(a)

UserWarning: update is not implemented in this backend

我应该做什么?

最佳答案

正如官方显示的django docs ,您只需将新文章添加到(相关文章的)系列集中即可添加新文章

class ArticlesSerie(models.Model):
title = models.CharField(max_length=120)

def add_article(self, article):
self.article_set.add(article)

正如您所看到的,由于它是单行代码,因此可能不值得以特定方法执行此操作,除非您想执行进一步检查(例如,在文章的字段上)

注意:如果您不需要事先实例化文章,您可能需要考虑使用 create 而不是 add

关于python - 如何通过模型的方法 django 更新对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34393141/

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