小编mou*_*eni的帖子

在 Django Rest api 中查询最小和最大大小

我有这个模型:

class Image(models.Model):
    image_name=models.CharField(max_length=30)
    image=models.ImageField(upload_to='images',width_field='image_width', height_field='image_height',)
    image_width=models.PositiveIntegerField(null=True, blank=True, editable=False)
    image_height=models.PositiveIntegerField(null=True, blank=True, editable=False)
    image_size=models.IntegerField(null=True, blank=True,editable=False)
Run Code Online (Sandbox Code Playgroud)

视图是这样的:

class ImageViewSet(viewsets.ModelViewSet):
        queryset = Image.objects.all()
        serializer_class = ImageSerializer
        filter_backends = (DjangoFilterBackend, OrderingFilter,)
        filter_fields = ('image_name',)
        ordering_fields = ('id','image_name,)
Run Code Online (Sandbox Code Playgroud)

我能够保存具有所有这些属性的图像。我想要一个这样的查询来返回高度大于 100 且小于 300 的所有图像:

GET /images/?minheight=100&maxheight=300
Run Code Online (Sandbox Code Playgroud)

如何在 Django 中实现这一点?

如果我尝试在 minheight 为空的情况下触发 api,我收到 500 服务器错误 GET /images/?minheight=

python django django-models django-queryset django-rest-framework

5
推荐指数
1
解决办法
1599
查看次数