Ich versuche, einen Weg zu finden, den Admin-queryset für Seite Objekte auf dem Benutzer zur Verfügung gestellt Basis bis zu filtern, was ich (Pseudo-Code) betrachtet:Anpassen der feincms Admin-Seite basierend auf Benutzer
from feincms... Page
class MyPageAdmin(PageAdmin):
def __init__(self, *args, **kwargs):
'monkey business'
super(MyPageAdmin, self).__init__(*args, **kwargs)
admin.site.unregister(Page)
admin.site.register(Page, MyPageAdmin)
Dies funktioniert nicht, weil feincms nach einer vollständig geladenen Django-Instanz sucht. Eine ausführliche Lösung wäre wahrscheinlich nicht das Seitenmodul überhaupt zu laden, und entweder das Seite Modellobjekt oder Admin außer Kraft setzen, zum Beispiel:
from feincms... PageAdmin
class MyPage(Page):
objects = CustomManager()
admin.site.register(MyPage, PageAdmin)
In der Dokumentation wird es setup your own page module in ähnlicher Art und Weise möglich ist, aber es scheint, viel Konfiguration für eine einfache Anforderung.
Gibt es eine einfachere Möglichkeit, den Admin-Abfrage-Set oder den Model-Admin für das Modul zu deaktivieren?
Sollte die [queryset Methode] (http://stackoverflow.com/a/1659129/630877) des Standard 'PageAdmin's nicht überschrieben werden? – arie
@arie, ja, aber nicht auf die herkömmliche Weise, ich habe gerade herausgefunden, wie man sie richtig patcht. –