AttributeError:“Manager”对象没有attribu

2024-10-02 18:24:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是python3.7。我很难弄清楚应该如何以及在哪里放置一个创建和保存多个对象的方法。我把这个放在我的模型.py文件

class ArticleStatManager(models.Manager):
    def save_main_article(self, article):

然后在代码的另一部分,我调用

^{pr2}$

但这会导致错误

    ArticleStat.objects.save_main_article(article)
AttributeError: 'Manager' object has no attribute 'save_main_article'

我做错了什么?或者我应该把这些代码放在哪里,这样我才能正确地调用它?在


Tags: 文件对象方法代码py模型selfmain
2条回答

正如@DanielRosman在他的评论中指出的,您必须将ArticleStatManager设置为default manager(您需要通过属性objects来设置它,因此它必须是默认的管理器)

class ArticleStat(models.Model):
    objects = ArticleStatManager()

您也可以为此设置不同的管理器:

^{pr2}$

然后你可以:

ArticleStat.articlesmanager.save_main_article(article)

您需要告诉模型使用自定义模型管理器。在

class ArticleStat(models.Model):
    objects = ArticleStatManager()

(DOCS)

相关问题 更多 >