基本上,我需要一个优雅的方式来做到以下几点: -手动创建一个Django的QuerySet或者更确切地说,手动对象添加到一个QuerySet
obj1 = Model1.objects.select_related('model2').get(attribute1=value1)
obj2 = Model1.objects.select_related('model2').get(attribute2=value2)
model2_qs = QuerySet(model=Model2, qs_items=[obj1.model2,obj2.model2])
我可能不会思考的权利,但这样做类似下面似乎无限愚蠢的我: -
obj1 = Model1.objects.select_related('model2').get(attribute1=value1)
model2_qs = Model2.objects.filter(pk=obj1.model2.pk)
是的,我需要的Model2的供以后使用一个QuerySet落得(特别是要传递给Django的形式)。
在上面的第一个代码块中,即使我使用filter
而不是get
,我显然会拥有Model1的QuerySet。在我的情况下,反向查找可能并不总是可能的。
对不起,目前尚不清楚你实际上想做什么。请显示你想要开始和结束。 – 2010-08-03 14:31:31
我想说的是,如果我已经可以通过使用obj1.model2来引用Model2对象,那么有一种方法可以将这些对象添加到Model2对象的QuerySet中将是非常好的。 – chefsmart 2010-08-03 18:05:33
我也无法追随你的目标。如果你可以发布你的模型的相关代码,并添加一句或两句关于你在做什么的一般性描述,我们可能会提供帮助。 – 2010-08-03 21:04:11