[英]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.