Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 Django rest框架-向现有模型字段添加字段_Python 2.7_Django Models_Django Forms_Django Views_Django Rest Framework - Fatal编程技术网

Python 2.7 Django rest框架-向现有模型字段添加字段

Python 2.7 Django rest框架-向现有模型字段添加字段,python-2.7,django-models,django-forms,django-views,django-rest-framework,Python 2.7,Django Models,Django Forms,Django Views,Django Rest Framework,我想创建一个表单字段,在模型中的特定字段中添加一些输入字段和值。我不熟悉python和Django rest。注意:我不应该更改模型和序列化程序。我可以为此创建新的序列化程序 我受够了 我的期望: { "id" : "6fe7c9dd-8d69-4337-8f96-6d67463f6a1d", "name": "xyz", "age" : 22, "additional_detail":{ "details": { "bloodgrou

我想创建一个表单字段,在模型中的特定字段中添加一些输入字段和值。我不熟悉python和Django rest。注意:我不应该更改模型和序列化程序。我可以为此创建新的序列化程序

我受够了

我的期望:

{
  "id"  : "6fe7c9dd-8d69-4337-8f96-6d67463f6a1d",
  "name": "xyz",
  "age" : 22,
  "additional_detail":{
         "details": {
            "bloodgroup" : "A+ve",
            "city" : "abc"
         }
    }
}
models.py

class Student(models.model)
    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    name = models.CharField()
    age = models.IntergerField()
    additional_detail = JSONField(_details)
塞里兹利

class StudentSerializer(serializers.ModelSerializer):
        class Meta:
            model = Student
            fields = '__all__'
views.py

class StudentViewSet(viewsets.ModelViewSet):   
    queryset = student.objects.all()
    serializer_class = StudentSerializer
我想像这样在“附加详细信息”字段中插入

"details": {
            "bloodgroup" : "A+ve",
            "city" : "abc"
          }
我想按id将此字段作为put或patch方法插入新视图。 是否可以为这些添加文件执行非模型序列化程序?
请将所有.py as文件的完整解决方案发送给我

可以实现to_表示方法的快速解决方案

class StudentSerializer(serializers.ModelSerializer):

    def to_representation(self, student):
        # Serialize the student object
        serialized_data = super(StudentSerializer, self).to_representation(student)
        # Include your non-model data
        serialized_data["additional_details"]["details"] = {
            "bloodgroup" : "A+ve",
            "city" : "abc"
        }
        return serialized_data

    class Meta:
        model = Student
        fields = '__all__'
希望有帮助