Django怎么用model里的 manytomany field去筛选数据集 DjangoFilter

我想通过rest framework做API. 然后现在我想通过模型里面其中的manytomany field里面(key,value)的value来筛选这个模型的数据。比如:

class Product(models.Model):  
    measurements = models.ManyToManyField(MeasurementRecord,blank=True)

其中MeasurementRecord是一个尺寸的数据记录库,如:
L=10,W=20
我想建立对这个 measurements 的过滤筛查,比如我要筛查其中包含 L=10 的有哪些products

这个Djangofilter该如何建立?

阅读 5.2k
1 个回答

先上文档

filter()
filter(**kwargs)
Returns a new QuerySet containing objects that match the given lookup parameters.

The lookup parameters (**kwargs) should be in the format described in Field lookups below. Multiple parameters are joined via AND in the underlying SQL statement.

If you need to execute more complex queries (for example, queries with OR statements), you can use Q objects.

(更多有关Django ORM查询的文档资料见Django官方文档
也就是说直接调用filter方法就行
就拿上面的例子:

Product.objects.filter(measurements__l=10)

就能达到效果了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进