Ich benutze Django und Ruhe-Framework, ich bin nicht in der Lage, die Daten (Felder) von der PATCH-Methode zu aktualisieren.Wenn ich klicke, jedes Mal die Erstellung des neuen Datensatzes. finden Sie den Code unten;Django-Patch-Methode zum Bearbeiten oder Aktualisieren der Benutzerfelder
Daten von Postbote: Methode - PATCH
{
"company_id": 2,
"company_code": "PR",
"company_name": "Padise",
"company_description": "company",
"company_address": "company",
"active": true,
"updated_by": null,
"updated_dtm": "2017-04-26T12:12:20Z"
}
über Daten „company_id“ sind der Primärschlüssel, ich brauche den Datensatz mit dem Primärschlüssel zu bearbeiten oder zu aktualisieren. In PATCH-Methode, wo ich den Primärschlüssel zum Bearbeiten oder Aktualisieren des Datensatzes übergeben muss.
views.py
class getCompanyDetails(APIView):
def get(self, request):
comp = company.objects.filter(active = True)
serializer = restGetCompanySerializer(comp, many=True)
return JsonResponse({"allCompanies":serializer.data})
def patch(self, request):
serializer = restAddCompanySerializer(data=request.data, partial=True)
if serializer.is_valid():
serializer.save()
return JsonResponse(serializer.data)
return JsonResponse(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
serializer.py
class restAddCompanySerializer(serializers.ModelSerializer):
class Meta:
model = company
fields = '__all__'
Hallo Vielen Dank für Ihre help.Its fine.But updated_dtm nicht funktioniert das Datum Zeit vom models'updated_dtm nehmen = models.DateTimeField (null = True, default = datetime.now) 'seine Das Feld in der Datenbank nicht aktualisieren.Wie soll das behoben werden ?. – user1335606
Ich verstehe Ihre Bedenken nicht. Wenn Sie 'update_dtm' jedes Mal aktualisieren möchten, wenn Sie eine Instanz aktualisieren, bearbeiten Sie models.py wie folgt:' updated_dtm = models.DateTimeField (null = True, auto_now_add = True) '. – akhilsp
@ user1335606 löst dies Ihr Problem? Wenn es hilft, bitte upvote :) – akhilsp