按外键字段过滤

我有两个相互关联的模型


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)

谢谢你的帮助!!!


繁星淼淼
浏览 245回答 3
3回答

婷婷同学_

知道了!services = UserService.objects.filter(user=user, title__pricingisarate=True)

HUX布斯

您可以通过在外键定义的名称和要过滤的子字段名称之间使用双下划线来过滤外键字段,对于您的情况,它类似于以下内容:title__pricingisarate您的查询必须更改如下:services = UserService.objects.filter(user=user, title__pricingisarate=True)一些关于这篇文章的 Django 的正式例子是可用的......
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python