gpt4 book ai didi

python - django 多对多过滤字段

转载 作者:太空宇宙 更新时间:2023-11-03 18:23:27 25 4
gpt4 key购买 nike

我有这个:

class A(models.Model):
name = models.CharField()
tags = models.ManyToManyField(Tags, through='Tags')

class Tags(models.Model)
a = models.ForeignKey(A)
tag = models.ForeignKey(Tag)
assign_date = models.DateTimeField()

class Rates(models.Model):
a = models.ForeignKey(A)
rate = models.PositiveSmallIntegerField()

我需要获取大于 2 的所有费率,并按给定日期之后分配的标签进行筛选。 日期过滤器很简单,但我不知道如何使用 django orm 进行此查询

我需要这样的东西:

rates = rates.objects.filter(rate_gte=2, a__tags__assign_date__gte=date_object)

另一方面,sql 查询非常简单:

select * from rates
inner join tags on tags.a_id = rates.a_id
where tags.assign_date > now() - '2 weeks' and rates.rate > 2

最佳答案

你所拥有的几乎是正确的。您希望“rate__gte”注意第二个下划线。

这里有一个用法示例:https://docs.djangoproject.com/en/dev/topics/db/queries/#filtered-querysets-are-unique

关于python - django 多对多过滤字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23657638/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com