【发布时间】:2021-10-20 21:41:24
【问题描述】:
这是我的模型
class Mediums(models.Model):
medium_name = models.CharField(max_length=255)
class Artwork(models.Model):
title = models.CharField(max_length=255, blank=True, null=True)
mediums = models.ManyToManyField(Mediums, blank=True, related_name="artwork")
class Meta:
db_table = 'artwork'
我正在使用 django-reft-framework 。
如何通过过滤多个 media_id 来获取艺术品。 我检查了 drf doc 找不到过滤 ManyToManyField 的选项
请看一下
【问题讨论】:
-
您可以使用
__in和mediums所以:Artwork.objects.filter(mediums__in=Medium.objects.filter(<your_medium_filter>))。你可以找到文档和一些例子here -
我如何在 drf filterset_fields 中添加它
-
如果您想在 url 级别进行过滤,您可以查看 django-rest-framework.org/api-guide/filtering 或 django-filter.readthedocs.io/en/stable 并请在问题中明确说明
标签: django django-rest-framework