Mam pewne problemy z przesłonięciem zestawu zapytań dla mojego wbudowanego administratora.Przesłanianie zestawu zapytań dla wbudowanego administratora
Oto bog standard rodzic admin inline admin:
class MyInlineAdmin(admin.TabularInline):
model = MyInlineModel
def queryset(self, request):
qs = super(MyInlineAdmin, self).queryset(request)
return qs
class ParentAdmin(admin.ModelAdmin):
inlines = [MyInlineAdmin]
admin.site.register(ParentAdminModel, ParentAdmin)
Teraz mogę zrobić qs.filter(user=request.user)
lub qs.filter(date__gte=datetime.today())
żaden problem.
Potrzebuję jednak instancji MyInlineModel lub instancji ParentAdminModel (nie modelu!), Ponieważ potrzebuję filtrować mój zestaw zapytań na podstawie tego.
Czy można uzyskać coś takiego jak self.instance lub obj (jak w get_readonly_fields() lub get_formset()) wewnątrz metody queryset()?
Mam nadzieję, że to ma sens. Każda pomoc jest doceniana.
http://stackoverflow.com/questions/14950193/how-to-get-the-current-model-instance-from-inlineadmin-in-django może być pomocne –
Należy zauważyć, że w Django 1.6 zmieniono nazwę zestawu zapytań na get_queryset. https://docs.djangoproject.com/en/dev/releases/1.6/#get-query-set-and-similar-methods-renamed-to-get-queryset – jenniwren