instantiating पारित किया गया था के रूप में मैं निम्नलिखित मॉडल है:Django-आराम-ढांचा: कॉल नहीं कर सकता `.is_valid()` कोई `डेटा =` कीवर्ड तर्क जब 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)
और निम्नलिखित serializer :
class PatientNoteSerializer(serializers.ModelSerializer):
class Meta:
model = PatientNote
मैं बस रोगी नोट पर एक पोस्ट करना चाहता हूं। प्राप्त काम करता है और भी अन्य मॉडलों पर पोस्ट ठीक से काम करता है:
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, एक QueryDict, यानी है
<QueryDict: {u'category': [u'1'], u'patient': [u'1'], u'description': [u'da rest']}>
यह दो FKS, रोगी और श्रेणी को भरने के लिए सक्षम हो जाएगा , उनके आईडी और विवरण के माध्यम से एक साधारण पाठ है।
पोस्ट अनुरोध एक निम्नलिखित (कि अन्य मॉडलों के साथ काम करता है) है:
वैसे भी, पोस्ट प्रतिक्रिया है 500 निम्न त्रुटि के साथ:
AssertionError at /api/notes/
के रूप में कोई data=
.is_valid()
कॉल नहीं कर सकता serializer उदाहरण को तत्काल करते समय कीवर्ड तर्क पारित किया गया था।
त्रुटि अगर मैं पाइथन खोल में इसका उपयोग करने का प्रयास करता हूं तो त्रुटि वही होती है।
क्या लिखने में कोई त्रुटि! आपका बहुत बहुत धन्यवाद! – ennioma