Python 插入相关字段django rest框架
我有这个简单的模型,我很难通过django rest框架插入“notes”的相关字段Python 插入相关字段django rest框架,python,django,django-rest-framework,Python,Django,Django Rest Framework,我有这个简单的模型,我很难通过django rest框架插入“notes”的相关字段 class Student(models.Model): firstName = models.CharField(max_length=100, blank=True, null=True) lastName = models.CharField(max_length=100, blank=True, null=True) prefLocation = models.ManyToManyFi
class Student(models.Model):
firstName = models.CharField(max_length=100, blank=True, null=True)
lastName = models.CharField(max_length=100, blank=True, null=True)
prefLocation = models.ManyToManyField("Location", blank=True, null=True, related_name = 'prefLocation')
def __unicode__(self):
return self.firstName
class LocationRegion(models.Model):
regionName = models.CharField(max_length=100)
def __unicode__(self):
return self.regionName
class Location(models.Model):
locationName = models.CharField(max_length=100)
region = models.ForeignKey(LocationRegion, null=True, blank=True, related_name='locations')
def __unicode__(self):
return self.locationName
class Note(models.Model):
text = models.CharField(max_length=1000)
student = models.ForeignKey(Student, null=True, blank=True, related_name='notes')
def __unicode__(self):
return self.text
class StudentViewSet(viewsets.ModelViewSet):
queryset = Student.objects.all()
serializer_class = StudentSerializer
我不确定是否需要使用ModelSerializer或generic Serializer。已验证的_数据在反序列化数据中不返回“note”字段。我将非常感谢您对序列化程序的任何帮助
谢谢
以下是我的序列化程序:
class StudentSerializer(serializers.ModelSerializer):
def create(self, validated_data):
def get_notes(self, obj):
return validated_data['note']
note = serializers.SerializerMethodField('get_notes')
return Candidate.objects.create(**validated_data)
class Meta:
model = Student
fields = ('id', 'firstName', 'lastName', 'note')
class NoteSerializer(serializers.ModelSerializer):
class Meta:
model = Note
您的StudentSerializer是什么样子的?您可能希望有一个NoteSerializer,然后在StudentSerializer中:notes=NoteSerializer(),但是如果没有此处的实际序列化程序,很难说清楚我编辑了我的文章以显示我的序列化程序。谢谢