我是Django和Python的新手,我遇到了问题。这是我的模特:
class Similarity(models.Model):
score = models.FloatField(max_length=10)
mother_fk = models.ForeignKey('MotherCompound', on_delete=models.CASCADE)
father_fk= models.ForeignKey('FatherCompound',on_delete=models.CASCADE)
使用此视图(仅限重要部分):
mothers =XXXXX_set.all() #queryset of mothers
fathers =XXXXX_set.all() #queryset of fathers
couple= Similarity.objects.filter(mother_fk__in=mothers,father_fk__in=fathers)
最后,我会有一个这种形状的表,这两个外键之间有不同的组合。
我希望依赖min(len(mothers),len(fathers))
(让我们说“3”)来获得这对过滤器的三对母亲/父亲:
你寻找母亲和父亲参与的最佳分数 英寸
我的意思是,母亲和父亲可以参与不同的组合,但我想根据最佳分数只显示一个例子。
在此示例中,最终输出应为:
我的问题是,是否有可能在一行中,在查询中,或者如果在查询行之后,我必须做一个循环并尝试找到每个母亲和父亲的最大值。在这两种情况下,我都希望能够效仿,因为我在这个问题上几天都在挣扎。
我希望很清楚,如果没有,请不要犹豫,向我提出更多细节。 谢谢。