【问题标题】:django rest framework return selected field in viewdjango rest框架返回视图中的选定字段
【发布时间】:2013-04-01 17:36:28
【问题描述】:

假设我有一个模型名称 Book。我有两个视图(列表和详细信息)

models.py

class Book(models.Model):
    name = models.CharField(max_length=100)
    author = models.CharField(max_length=100)
    publishdate = models.DateTimeField()

序列化器.py

class BookSerializer(serializers.ModelSerializer):

    class Meta:
        model = Book

如果我要在列表视图和详细信息视图中使用此序列化程序。我可以设置返回字段吗?示例:列表视图仅返回名称列表,详细视图将返回名称、作者、发布日期字段。 还是我必须在两个类的 Class Meta 中创建新的序列化程序并插入字段?

【问题讨论】:

    标签: django rest django-rest-framework


    【解决方案1】:

    如果您需要列表和详细视图的不同表示形式,您应该为每个视图定义单独的序列化程序。比如……

    class DetailBookSerializer(serializers.ModelSerializer):
        class Meta:
            model = Book
            fields = ('name', 'author', 'publishdate')
    
    class ListBookSerializer(serializers.ModelSerializer):
        class Meta:
            model = Book
            fields = ('name',)
    

    然后确保在每个视图上适当地设置serializer_class 属性。

    【讨论】:

    • 感谢汤姆的回答,我认为还有另一种方法:D
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-09
    • 1970-01-01
    • 2017-08-21
    • 2014-10-16
    • 1970-01-01
    相关资源
    最近更新 更多