Ich habe ein Modell, das ein Besitzerfeld hat.
django - dynamische manager
class MyModel(models.Model):
owner = models.CharField(...)
I erweiterte die django User
Klasse und fügte hinzu, ein Eigentum
class AppUser(User):
ownership = models.CharField(...)
ich einen Manager für MyModel
erstellen will, so wird es nur Objekte abzurufen, die in Benutzern mit dem Eigentum der aktuell angemeldeten entsprechen .
Zum Beispiel (mit Rahmen Django REST):
class MyModelAPI(APIView):
def get(self, request, format=None):
# This query will automatically add a filter of owner=request.user.ownership
objs = MyModel.objects.all()
# rest of code ...
aller Beispiele für konstante Werte Benutzermanager in ihren Anfragen und ich bin für etwas dynamischere suchen. Ist das Ding überhaupt möglich?
Danke
Was ist die Beziehung von 'MyModel' und' AppUser'? Sollte "Eigentümer" nicht ein "ForeignKey" sein? – schwobaseggl
nein ... es ist eher eine Berechtigungssache als eine Fremdschlüsselsache. Einige Benutzer haben eine spezielle Eigentümerschaft, die es ihnen ermöglicht, alle Objekte von MyModel –
abzurufen. Also im Grunde genommen alle 'MyModel' -Instanzen, in denen' owner == request.user.ownership'? – schwobaseggl