Ini sebenarnya tidak ada hubungannya dengan Django itu sendiri, tetapi dengan cara kerja MySQL.
Anda tidak dapat menggunakan alias dalam kondisi WHERE, karena evaluasi klausa WHERE mendahului evaluasi alias.
Anda dapat:
-
Ulangi klausa:
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''')
-
Lakukan subpilih:
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''')