我使用Wagtail来获取Page
的查询集,这些查询的特定子类具有到Snippet
的特定外键。
from django.db import models
from wagtail.core.models import Page
from wagtail.snippets.models import register_snippet
@register_snippet
class Organization(models.Model):
name = models.CharField(max_length=255, blank=False)
class ArticlePage(Page):
organization = models.ForeignKey(
'Organization',
null=True,
blank=True,
on_delete=models.SET_NULL,
related_name='+'
)
那么,如何获得所有Page
的查询集,它们的关联ArticlePage
具有Organisation
且id
为1
? >
答案 0 :(得分:5)
ArticlePage.objects.filter(organisation__id=1)
这将为您提供ArticlePage
对象的查询集,通常比Page
对象的查询集更好,因为它将为您提供Page的所有功能以及任何其他字段和方法在ArticlePage上定义。如果出于某种原因您需要它们成为基本的Page
对象,则可以使用:
Page.objects.filter(articlepage__organisation__id=1)