Mysql 在Django ORM中按相关模型字段筛选模型
我有两个模型:广告活动和广告视图(视图日志)。每个广告活动必须至少每X天向用户显示一次。所以,活动模型有一个带有天数的字段。 我需要选择尚未向用户显示超过此活动天数的活动。并从此列表中获取随机活动以显示用户。 所以,我写了一个查询,其中选择了活动,但还没有看到Mysql 在Django ORM中按相关模型字段筛选模型,mysql,django,Mysql,Django,我有两个模型:广告活动和广告视图(视图日志)。每个广告活动必须至少每X天向用户显示一次。所以,活动模型有一个带有天数的字段。 我需要选择尚未向用户显示超过此活动天数的活动。并从此列表中获取随机活动以显示用户。 所以,我写了一个查询,其中选择了活动,但还没有看到 user_campaigns = AdvertShowEvent.objects.filter(user=user) .values('advertiseme
user_campaigns = AdvertShowEvent.objects.filter(user=user)
.values('advertisement_id')\
.annotate(datetime_last=Max('datetime'))\
.values_list('advertisement_id')
但现在我需要过滤活动,以显示用户活动,他没有看到超过X天,为每个公司指定。像这样的
user_campaigns = AdvertShowEvent.objects.filter(user=user, **datetime_last__gte=asdvertisement.days_between_shows**)
.values('advertisement_id')\
.annotate(datetime_last=Max('datetime'))\
.values_list('advertisement_id')
我如何使用Django ORM进行过滤?类似的功能应该可以做到:
user_campaigns = AdvertShowEvent.objects.filter(user=user,
**datetime_last__gte=datetime.datetime.now() - datetime.timedelta(days=days_between_shows))
.values('advertisement_id')\
.annotate(datetime_last=Max('datetime'))\
.values_list('advertisement_id')