SELECT "Treatment" FROM car_treatment, input
WHERE car_treatment."Colour" = input."Colour" AND car_treatment."Descrp" = input."Descrp"
我一直在想如何写这个简单的查询,但没有用。 car_treatment
和input
代表两个不同的表格。如何将以下SQL查询翻译为Django API查询?
非常感谢!
SELECT "Treatment" FROM car_treatment, input
WHERE car_treatment."Colour" = input."Colour" AND car_treatment."Descrp" = input."Descrp"
我一直在想如何写这个简单的查询,但没有用。 car_treatment
和input
代表两个不同的表格。如何将以下SQL查询翻译为Django API查询?
非常感谢!
您可以使用Django原始查询是这样的:
YOUR_MODEL.objects.raw('SELECT "Treatment" FROM car_treatment, input WHERE car_treatment."Colour" = input."Colour" AND car_treatment."Descrp" = input."Descrp"')
更多信息here。
或者,你可以这样做:
cursor = connection.cursor()
cursor.execute('SELECT "Treatment" FROM car_treatment, input WHERE car_treatment."Colour" = input."Colour" AND car_treatment."Descrp" = input."Descrp"')
cursor.fetchall()
我相信你已经为car_treatment和输入表,命名为CarTreatment和输入的典范。 (如果您不需要使用:https://docs.djangoproject.com/en/dev/howto/legacy-databases/#auto-generate-the-models生成代表您的表格的模型)。然后,你可以做如下:
input = Input.objects.get(id=1)
car_treatments = CarTreatment.objects.filter(colour=input.colour, descrp=input.descrp)
然后car_treatments包含了一套符合您查询的实例,你可以做一些与他们有用,例如在得到传递回用户的响应模板渲染。
{% for treatment in car_treatments %}
<h1>{{treatment}}</h1>
<ul>
<li>{{treatment.descrp}}</li>
<li>{{treatment.colour}}</li>
</ul>
{% endfor %}
你能展示你的模型吗? – rnevius 2014-12-04 06:34:24