Django rest framework 在管理中显示或隐藏带有复选框的 API 个对象
Django rest framework show or hide API objects with checkbox in admin
我需要了解如何在 API 中显示或隐藏对象由 django rest 框架序列化。
我在我的管理模型中设置了一个复选框来设置活动或非活动对象(真或假)
class Video(models.Model):
...
status = models.BooleanField('Activate video', default=False, help_text='If is checked show the video in the API')
...
在我的 urls.py
我设置
from video.models import Video
class VideoAPI(serializers.HyperlinkedModelSerializer):
class Meta:
model = Video
fields = [...]
class API_Video(viewsets.ModelViewSet):
queryset = Video.objects.all()
serializer_class = VideoAPI
现在如何在我的模型中使用复选框显示或隐藏 API Json 中的对象?
DRF 使用您提供的查询集结合您在序列化程序 Meta
class.
中提供的字段来填充 JSON 响应
因此,为了过滤掉具有 status=False
的对象,您可以简单地过滤提供的查询集:
class API_Video(viewsets.ModelViewSet):
queryset = Video.objects.filter(status=True)
serializer_class = VideoAPI
您还可以调用 get_queryset
方法并覆盖它以执行更高级和复杂的过滤:DRF - Doc - get_queryset(self)
我需要了解如何在 API 中显示或隐藏对象由 django rest 框架序列化。
我在我的管理模型中设置了一个复选框来设置活动或非活动对象(真或假)
class Video(models.Model):
...
status = models.BooleanField('Activate video', default=False, help_text='If is checked show the video in the API')
...
在我的 urls.py
我设置
from video.models import Video
class VideoAPI(serializers.HyperlinkedModelSerializer):
class Meta:
model = Video
fields = [...]
class API_Video(viewsets.ModelViewSet):
queryset = Video.objects.all()
serializer_class = VideoAPI
现在如何在我的模型中使用复选框显示或隐藏 API Json 中的对象?
DRF 使用您提供的查询集结合您在序列化程序 Meta
class.
因此,为了过滤掉具有 status=False
的对象,您可以简单地过滤提供的查询集:
class API_Video(viewsets.ModelViewSet):
queryset = Video.objects.filter(status=True)
serializer_class = VideoAPI
您还可以调用 get_queryset
方法并覆盖它以执行更高级和复杂的过滤:DRF - Doc - get_queryset(self)