如何在Django中为这种特定类型的查询形成查询集?

时间:2011-06-19 12:50:00

标签: django

我在模型中有两个类。

一个是Sdr_Layer类。

其他是Test类。

Sdr_Layer将所有这些作为属性。 Layer_id LAYER_NAME Layer_attribute_names

测试类是这个

Sdr_Layer.Layer_id作为外键和主键。 Layer_attribute_values

从一个模板中,允许用户搜索所有类型的图层(Test1,Test2,Test3),这些图层都是不同的。

一旦他/她选择了Test1或Test2或Test3,它就会传递给包含该模型的应用程序。设置查询以找出他/她选择的查询(Test1,Test2,Test3)。如果用户已选择Test1,则派生属性以将其放入然后映射的表单中。

我遇到的问题是,如果用户选择Test1,那么查询集应该是什么,它给了我所有的attribute_values。

Test1.objects.all()。这可以完成,但只有在用户选择Test1时才能达到目的。如果用户选择Test2该怎么办?因此问题。我希望我解释了这个问题

1 个答案:

答案 0 :(得分:0)

我并不完全明白你要做的是什么,但在我看来,你需要一个基本模型,这样你就可以过滤它的某个属性。

Test.object.filter(type=1)
Test.object.filter(type=2)

应该有所帮助。如果要查看给定查询中的所有数据库,则拥有多个数据库表将无济于事。