我有两个相互关联的模型
class IndustryService(models.Model):
title = models.CharField(max_length=120)
pricingisarate = models.BooleanField(default=False)
class UserService(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
title = models.ForeignKey(IndustryService, on_delete=models.CASCADE, null=True, blank=True)
在一个视图内,我正在尝试开发一个UserService实例的查询集
a)属于用户
b)外键上有pricingisarate == True
我已经尝试了以下查询,但是不起作用:
services = UserService.objects.filter(user=user, industryservice__pricingisarate__is=True)
感谢您的帮助!
答案 0 :(得分:0)
知道了!
services = UserService.objects.filter(user=user, title__pricingisarate=True)
答案 1 :(得分:0)
您可以通过在外键定义的名称和您要以此进行过滤的子字段名称之间使用双下划线来过滤外键字段,对于您的情况,这类似于以下内容:
title__pricingisarate
您的查询必须更改如下:
services = UserService.objects.filter(user=user, title__pricingisarate=True)
答案 2 :(得分:0)
services = UserService.objects.filter(user=user, title__pricingisarate=True)
因为UserService
与使用查找标题的IndustryService
模型有关。
请参考此链接-https://docs.djangoproject.com/en/2.1/topics/db/queries/#lookups-that-span-relationships