簡體   English   中英

AttributeError: 'Manager' 對象沒有屬性

[英]AttributeError: 'Manager' object has no attribute

我正在使用 Python 3.7。 我在弄清楚應該如何以及在哪里放置一個創建和保存多個對象的方法時遇到了很多麻煩。 我的models.py文件中有這個

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

然后在代碼的另一部分,我調用

ArticleStat.objects.save_main_article(article)

但這會導致錯誤

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

我做錯了什么或者我應該在哪里放置這段代碼以便我可以正確調用它?

您需要告訴模型使用您的自定義模型管理器。

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

(文檔)

正如@DanielRosman 在他的評論中指出的那樣,您必須將ArticleStatManager設置為默認管理器(您希望它通過屬性objects ,因此它必須是默認管理器)

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

您還可以為此目的設置不同的經理:

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

然后你可以:

ArticleStat.articlesmanager.save_main_article(article)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM