Mam następujący model:django-rest-ramowa: Nie można wywołać `.is_valid()` `jak żadne dane =` Argument Hasło zostało przekazane podczas uruchamianiu instancji serializer
class NoteCategory(models.Model):
title = models.CharField(max_length=100, unique=True)
def __unicode__(self):
return '{}'.format(self.title)
class PatientNote(models.Model):
category = models.ForeignKey(NoteCategory)
patient = models.ForeignKey(Patient)
description = models.CharField(max_length=500)
created_at = models.DateTimeField(auto_now_add=True)
def __unicode__(self):
return '{}'.format(self.description)
i następujący serializatora :
class PatientNoteSerializer(serializers.ModelSerializer):
class Meta:
model = PatientNote
Po prostu chcę zrobić POST na PatientNote. Prace GET i POST również w innych modelach działa prawidłowo:
class PatientNoteViewSet(APIView):
queryset = PatientNote.objects.all()
def post(self, request, format=None):
if not request.auth:
return Response({})
token = Token.objects.filter(key=request.auth)[0]
user = token.user
serializer = PatientNoteSerializer(request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
request.data jest QueryDict, czyli
<QueryDict: {u'category': [u'1'], u'patient': [u'1'], u'description': [u'da rest']}>
byłoby w stanie wypełnić dwa FKS, cierpliwy i kategorię , poprzez ich identyfikatory i opis jest prostym tekstem.
Żądanie POST jest następujący jeden (który działa z innymi modelami):
Zresztą odpowiedź POST 500 z powodu następującego błędu:
AssertionError at /api/notes/
Nie można wywołać .is_valid()
jak nie data=
Argument słowa kluczowego został przekazany podczas tworzenia instancji serializera.
Błąd jest taki sam, jeśli próbuję go użyć w powłoce Pythona.
Co literówka! Dziękuję bardzo! – ennioma