使用django进行多表查询的正确方法

时间:2014-04-02 07:04:00

标签: django orm

class Car(models.Model):
    carName = Model.CharField()

class Wheel(models.Model):
    wheelName = Model.CharField()
    car = Model.ForeignKey(Car)

class Equipment(models.Model):
    equipmentName = Model.CharField()
    car = Model.ForeignKey(Car) 

我想查询所有具有相同名称和设备的汽车。 我像这样编写过滤器:

Car.objects.filter(wheel__wheelname = 'A', equipment__equipmentname='C')

但是我收到了错误 无法将关键字“”解析为字段,选项为:x,xx,xxx

那么,django不支持吗? 顺便说一句,我检查了表,似乎默认表的前缀名称与应用程序名称相同,例如blog_car,如何在django 1.6.2中禁用它?

1 个答案:

答案 0 :(得分:0)

您正在查询具有字段Car的{​​{1}}模型(表格),没有轮子或设备。这就是你得到错误的原因。我认为你的模型设计是错误的。它应该是这样的:

carname

你不应该在模型车中命名carName字段。已经属于car。可能是谁的名字? :d