簡體   English   中英

Django model.parameters

[英]Django model.parameters

我經歷了一段艱難的時期,試圖理解我所要審查的部分代碼:

model.parameters.first()

這是一個Django模型,盡管我知道結果是什么,但是我似乎在“參數”部分找不到任何單詞。

如果您可以解釋“參數”功能的作用,或者刪除解釋鏈接,將不勝感激。 我在Django文檔的任何地方都找不到它。

謝謝!

看起來是個自定義經理

Model.objects是django提供的默認管理器,但是我們可以創建自己的管理器,因此,例如,如果我擁有發布了屬性的模型Post,則可以創建PublishedManager。

class PublishedManager(models.Manager):
    def unpublished(self):
        return self.filter(published=False)

class Post(models.Model):
    title = models.CharField(max_length=30)
    published = models.BooleanField(default=True)
    objects = PublishedManager()

我可以輕松做到:

 Post.objects.unpublished

即使unpublished不是Post的屬性。

這是一個愚蠢的例子,但我希望您能理解。

Django在每個Django模型類中添加一個名稱為“ objects”的Manager。 但是,如果要為Manager使用“對象”以外的名稱,則可以在您的模型上將其重命名為:

class YourModel(models.Model):
 ....
 # custom manager replaces objects manager
  parameters= models.Manager() # in your case
 .....

所以現在我可以做這樣的事情:

YourModel.parameters.first()

現在, YourModel.objects將生成AttributeError

暫無
暫無

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

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