इसका वास्तव में Django से कोई लेना-देना नहीं है, लेकिन MySQL के काम करने के तरीके से।
आप WHERE स्थितियों में उपनामों का उपयोग नहीं कर सकते, क्योंकि WHERE क्लॉज मूल्यांकन उपनाम मूल्यांकन से पहले होता है।
आप या तो कर सकते हैं:
-
खंड दोहराएं:
Company.objects.raw('''SELECT *,core_location.a + core_location.b as dist FROM core_location,core_company WHERE (core_location.a + core_location.b)<10 ORDER BY dist''')
-
उप-चयन करें:
Company.objects.raw('''SELECT * FROM ( SELECT *,core_location.a + core_location.b as dist FROM core_location,core_company ) as subselect WHERE dist<10 ORDER BY dist''')