Трясогузка: фильтр страниц по иностранному ключу - PullRequest
0 голосов
/ 20 ноября 2018

Использование Трясогузка Я хочу получить QuerySet из Page s, у определенного подкласса которого есть определенный ForeignKey, равный 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='+'
    )

Итак, как мне получитьQuerySet всех Page s, чей связанный ArticlePage имеет Organisation с id из 1?

1 Ответ

0 голосов
/ 20 ноября 2018
ArticlePage.objects.filter(organisation__id=1)

Это даст вам набор запросов из ArticlePage объектов, который обычно предпочтительнее, чем набор запросов из Page объектов, поскольку он даст вам всю функциональность Page, а также любые дополнительные поля и методы, определенныена статье.Если по какой-то причине вам нужны базовые Page объекты, вы можете использовать:

Page.objects.filter(articlepage__organisation__id=1)
...