Wagtail: Filter Pages by a ForeignKey
Using Wagtail I want to get a QuerySet of Page
s whose specific subclass have a certain ForeignKey to a 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='+'
)
So, how would I get a QuerySet of all Page
s whose associated ArticlePage
has an Organisation
with an id
of 1
?
django wagtail
add a comment |
Using Wagtail I want to get a QuerySet of Page
s whose specific subclass have a certain ForeignKey to a 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='+'
)
So, how would I get a QuerySet of all Page
s whose associated ArticlePage
has an Organisation
with an id
of 1
?
django wagtail
add a comment |
Using Wagtail I want to get a QuerySet of Page
s whose specific subclass have a certain ForeignKey to a 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='+'
)
So, how would I get a QuerySet of all Page
s whose associated ArticlePage
has an Organisation
with an id
of 1
?
django wagtail
Using Wagtail I want to get a QuerySet of Page
s whose specific subclass have a certain ForeignKey to a 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='+'
)
So, how would I get a QuerySet of all Page
s whose associated ArticlePage
has an Organisation
with an id
of 1
?
django wagtail
django wagtail
asked Nov 20 '18 at 13:38
Phil GyfordPhil Gyford
4,11863376
4,11863376
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
ArticlePage.objects.filter(organisation__id=1)
This will give you a queryset of ArticlePage
objects, which is usually preferable to a queryset of Page
objects as it will give you all of the functionality of Page as well as any additional fields and methods defined on ArticlePage. If for some reason you need them to be basic Page
objects, you can use:
Page.objects.filter(articlepage__organisation__id=1)
Thanks! I do needPage
s, to be consistent with some other queries. I didn't realise Pages have fields named after their subclass!
– Phil Gyford
Nov 20 '18 at 14:30
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53394289%2fwagtail-filter-pages-by-a-foreignkey%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
ArticlePage.objects.filter(organisation__id=1)
This will give you a queryset of ArticlePage
objects, which is usually preferable to a queryset of Page
objects as it will give you all of the functionality of Page as well as any additional fields and methods defined on ArticlePage. If for some reason you need them to be basic Page
objects, you can use:
Page.objects.filter(articlepage__organisation__id=1)
Thanks! I do needPage
s, to be consistent with some other queries. I didn't realise Pages have fields named after their subclass!
– Phil Gyford
Nov 20 '18 at 14:30
add a comment |
ArticlePage.objects.filter(organisation__id=1)
This will give you a queryset of ArticlePage
objects, which is usually preferable to a queryset of Page
objects as it will give you all of the functionality of Page as well as any additional fields and methods defined on ArticlePage. If for some reason you need them to be basic Page
objects, you can use:
Page.objects.filter(articlepage__organisation__id=1)
Thanks! I do needPage
s, to be consistent with some other queries. I didn't realise Pages have fields named after their subclass!
– Phil Gyford
Nov 20 '18 at 14:30
add a comment |
ArticlePage.objects.filter(organisation__id=1)
This will give you a queryset of ArticlePage
objects, which is usually preferable to a queryset of Page
objects as it will give you all of the functionality of Page as well as any additional fields and methods defined on ArticlePage. If for some reason you need them to be basic Page
objects, you can use:
Page.objects.filter(articlepage__organisation__id=1)
ArticlePage.objects.filter(organisation__id=1)
This will give you a queryset of ArticlePage
objects, which is usually preferable to a queryset of Page
objects as it will give you all of the functionality of Page as well as any additional fields and methods defined on ArticlePage. If for some reason you need them to be basic Page
objects, you can use:
Page.objects.filter(articlepage__organisation__id=1)
answered Nov 20 '18 at 14:01
gasmangasman
9,6741425
9,6741425
Thanks! I do needPage
s, to be consistent with some other queries. I didn't realise Pages have fields named after their subclass!
– Phil Gyford
Nov 20 '18 at 14:30
add a comment |
Thanks! I do needPage
s, to be consistent with some other queries. I didn't realise Pages have fields named after their subclass!
– Phil Gyford
Nov 20 '18 at 14:30
Thanks! I do need
Page
s, to be consistent with some other queries. I didn't realise Pages have fields named after their subclass!– Phil Gyford
Nov 20 '18 at 14:30
Thanks! I do need
Page
s, to be consistent with some other queries. I didn't realise Pages have fields named after their subclass!– Phil Gyford
Nov 20 '18 at 14:30
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53394289%2fwagtail-filter-pages-by-a-foreignkey%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown