Django Query Joining and Grouping



我很难找到查询以下场景的最有效方法,感谢您的帮助

class Company(models.Model):
name = models.CharField(max_length=100)
class DatapointModel(models.Model): 
company = models.ForeignKey(Company, on_delete=models.CASCADE)
name = models.CharField(max_length=255)
value = models.FloatField()

现在我需要所有具有两个有效DatapointModel规则的公司,例如同时具有

的公司
datapoint name='country' with value='USA'

datapoint name='building_color' with value='blue'

我正在寻找的结果:满足两个数据点规则的公司名称。如果将country和building_color同时存储在Company对象中,这就很简单了但由于数据点太多,我不想这样构建模型我有点纠结于如何用django

查询它

除非我误解了你的问题,否则你的过滤器应该是:

Company.objets.filter(
datapointmodel__name="building_color", 
datapointmodel___value="blue"
)

你可能需要一些逻辑在那里,使你的名称/值配对工作在一个合理的方式。

相关内容

  • 没有找到相关文章

最新更新