Ich muss einige spezielle Serialisierung/Deserialisierung mit DRF ausführen, aber einer der erforderlichen Parameter für diese ist der Benutzer, der die Abfrage generiert hat.So fügen Sie ein statisches Benutzerfeld zur Django-Abfrage hinzu
AFAIK eine serializers.Field
Instanz hat keinen Zugriff auf ViewSet
und somit keinen Zugriff auf ViewSet.request.user
.
Also dachte ich, ich würde einfach den Benutzer als ein statisches Feld in die Abfrage setzen, so dass jeder Datensatz Zugriff darauf hätte.
qry = qry.annotate(user=Value(user, models.ForeignKey(settings.AUTH_USER_MODEL)))
aber das gibt mir
ValueError: Related model 'auth.User' cannot be resolved
Ich habe auch versucht
q.annotate(user=Value(user, models.ForeignKey(user.__class__)))
aber, dass auch excepts.
Genau was muss ich einbeziehen, damit dies bei Bedarf behoben wird?
Eigentlich das funktioniert für mich aus dem Kasten heraus. 'self.context ['request']. user' in' Field.to_representation' – velis