【发布时间】:2017-06-11 03:40:41
【问题描述】:
所以我有兴趣在 Django 项目中使用下面的示例代码,但在尝试了解如何明确调用模型管理器时感到困惑。
class AuthorManager(models.Manager):
def get_queryset(self):
return super(AuthorManager, self).get_queryset().filter(role='A')
class EditorManager(models.Manager):
def get_queryset(self):
return super(EditorManager, self).get_queryset().filter(role='E')
class Person(models.Model):
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
role = models.CharField(max_length=1, choices=(('A', _('Author')), ('E', _('Editor'))))
people = models.Manager()
authors = AuthorManager()
editors = EditorManager()
我知道视图调用模型,模型调用模型管理器,但这让我有点困惑。我可以指定哪个视图调用哪个管理器,或者模型是否通过其他方式隐式处理?
【问题讨论】:
标签: django django-models django-database