這樣有方案:分組查詢集Django的
class Model1(models.Model):
pass
class Model2(models.Model):
model1 = models.ForeignKey(Model1)
date = models.DateField()
class Model3(models.Model):
model2 = models.ForeignKey(Model2)
我需要查詢其獨特model2__model1__id
和至少model2__date
Model3
。 我已經成功使用QuerySet.extra()
方法,使所需的查詢,如:
Model3.objects.order_by('model2__date').extra(select={'m1_id': 'DISTINCT `app_model2`.`model1_id`'})
但恐怕也不會額外分類法,等工作 我也不想使用原始查詢,那些不支持排序以及數據庫級別的切片(可能會有大量的記錄)。
有沒有更正確的方法來做我想要實現的目標?
UP: 我使用MySQL數據庫後端,所以distinct()
字段名不可
哦,是的,我忘了說,我不能使用PostgreSQL,所以'distinct(* field_names)'不可用。 – bakatrouble
我想加上額外的東西可能是當時要走的路。 –