Ich habe eine einfache PATCH
Methode, wo ich eine Reihe von Parametern zu meinem Objekt Foo
, einschließlich eines Parameters new_bar
gesendet. Ich möchte zuerst alle anderen Felder patchen und dann new_bar
an die aktuellen Daten bar
anhängen.Override Partial_Update (PATCH DJANGO)
ich Probleme mit dem Django meine Überschreibung von Teilroute akzeptieren verweigert (Fehler:
response = handler(request, *args, **kwargs) TypeError: decorator() takes exactly 1 argument (3 given))
Wie kann ich meine PATCH-Methode überschreiben diese Parameter um bar
auf mein Objekt Nahrung zu akzeptieren, und hängen . es mich in den neuen Daten als Schlüssel new_bar
sende nicht Django zu verwirren und in dem Anfang Patch Schritt erwischt.
@detail_route
def partial_update(self, request, *args, **kwargs):
serializer = FooSerializer(data=request.data, partial=True)
serializer.is_valid()
instance = serializer.save()
bar = self.request.POST.get('new_bar', None)
if bar:
if len(instance.bar) == 0:
instance.bar = bar
else:
# Append
bar = json.loads(bar)
old_bar = json.loads(instance.bar)
instance.bar = json.dumps(oldbar)
Können Sie den vollständigen Stack-Trace buchen? – solarissmoke