我正在浏览django以获取一些查询集。 我已经宣布了两个这样的模型
class PortService(models.Model):
port=models.IntegerField()
service=models.TextField()
class Meta:
unique_together=(('port','service'),)
class ServiceDefects(models.Model):
port=models.ForeignKey('PortService')
defect_id=models.TextField()
defect_description=models.TextField()
class Meta:
unique_together=(('port','defect_id'),)
我希望得到ServiceDefects类的所有条目,其端口号为80,服务名为“Apache”。为此,我写了这样的查询:
ServiceDefects.objects.filter(portservice__port=80).filter(portservice__service='Apache')
任何帮助?提前谢谢。
答案 0 :(得分:2)
外键字段名为port
,而非portservice
,因此您应该这样做:
ServiceDefects.objects.filter(port__port=80).filter(port__service='Apache')
您可能更愿意将两个参数放在一个filter()
中:
ServiceDefects.objects.filter(port__port=80, port__service='Apache')
答案 1 :(得分:1)
您应该在一个过滤器中写下这两个条件:
ServiceDefects.objects.filter(port__port=80, port__service='Apache')