【问题标题】:Django rest, hide output values in the responseDjango rest,在响应中隐藏输出值
【发布时间】:2022-07-21 11:02:53
【问题描述】:

我在模型中有一个“已发布”表,其值为 true 或 false。我想在响应中隐藏那些值为 false 的。enter image description here

#models
class Menu(models.Model):
    name = models.CharField(max_length=64)
    content = models.TextField(blank=True)
    time_create = models.DateTimeField(auto_now_add=True)
    time_update = models.DateTimeField(auto_now=True)
    published = models.BooleanField(default=True)
#views
class MenuAPIList(generics.ListCreateAPIView):
    """ обзор меню, доустпен всем зарег и нет """
    queryset = Menu.objects.all()
    serializer_class = MenuSerializer
    permission_classes = (IsAuthenticatedOrReadOnly, )
#serialisers
class MenuSerializer(serializers.ModelSerializer):
    user = serializers.HiddenField(default=serializers.CurrentUserDefault())
    class Meta:
        model = Menu
        fields = ("name", "content", "published", "user")

【问题讨论】:

  • 您的意思是,您只想获取已发布的菜单列表?

标签: django django-rest-framework


【解决方案1】:

更改视图上的queryset 以过滤用于列表响应的查询集

class MenuAPIList(generics.ListCreateAPIView):
    queryset = Menu.objects.filter(published=True)
    ...

【讨论】:

    猜你喜欢
    • 2015-10-06
    • 2018-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-08
    • 2017-04-28
    • 2011-06-22
    • 1970-01-01
    相关资源
    最近更新 更多