Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.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 Django-如何';合并';两个序列化程序_Python_Django_Rest_Serialization_Django Rest Framework - Fatal编程技术网

Python Django-如何';合并';两个序列化程序

Python Django-如何';合并';两个序列化程序,python,django,rest,serialization,django-rest-framework,Python,Django,Rest,Serialization,Django Rest Framework,我正在搜索如何编写一个序列化程序,如: 使用GET->I give'uuid'->服务器响应仅为'name'、'content'、'rating' 使用POST->I give'name'、'content'、'rating'->serer响应只是创建了'uuid'和'time' 这是我的学习模式: class Post(models.Model): uuid = models.UUIDField(primary_key=True, default=uuid.uuid4, editabl

我正在搜索如何编写一个序列化程序,如: 使用GET->I give'uuid'->服务器响应仅为'name'、'content'、'rating' 使用POST->I give'name'、'content'、'rating'->serer响应只是创建了'uuid'和'time'

这是我的学习模式:

class Post(models.Model):
    uuid = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    name = models.CharField(max_length=40)
    time = models.DateTimeField()
    content = models.TextField(max_length=250)
    rating = models.IntegerField(default=1)
我正在学习如何从youtube上创建Django REST API,“老师”说最好为不同的操作制作一个序列化程序,比如当“POST”方法得到“uuid”和“time”,但当“get”方法得到“name”、“time”、“content”和“rating”。 但在这节课上,他想以更简单的方式展示,所以他制作了两个序列化程序,取决于方法:

class PostGetSerializer(serializers.ModelSerializer):
    class Meta:
        model = Post
        fields = [
            'name',
            'time',
            'content',
            'rating'
        ]


class PostCreateSerializer(serializers.ModelSerializer):
    class Meta:
        model = Post
        fields = [
            'uuid',
            'time',
        ]
我知道这只是一个小例子,但我希望你能理解

如何操作一个序列化程序的请求和响应数据取决于方法


编辑,因为我认为不清楚:

我想要这样的东西:

当我通过API创建对象时,初始JSON数据是“名称”、“内容”和“评级”。。。在这个创建请求之后,使用pk->uuid和自动时间以及json数据创建对象。我想得到响应“uuid”字段(pk)和“time”字段(自动时间)

但是,当我使用带有标题“uuid”的GET(获取specyfic对象)作为响应时,我希望没有“uuid”的“name”、“content”、“rating”和“time”

多功能序列化程序。有可能吗?
程序员通常使用哪种类型的编写序列化程序?每个方法有一个序列化程序?或者为一个模型使用一个大型特定序列化程序。

仅使用一个序列化程序将希望系统填充的字段设置为只读


始终包括UUID字段,即使在ID请求时也是如此。它不会真正影响响应,并且确保每个实体在请求时/请求位置一致。

是的,但这只会使字段“只读”,我无法在其上写入。我搜索的内容如下:我的输入是‘uuid’,服务器给我‘name’、‘content’和‘rating’。