Kaydet (Commit) a6a08005 authored tarafından Anssi Kääriäinen's avatar Anssi Kääriäinen

[1.7.x] Fixed #22250 -- regression in gis compiler for non-concrete fields

Thanks to gwahl@fusionbox.com for the report.

Backport of 21f208e6 from master
üst c9014a95
......@@ -124,7 +124,7 @@ class GeoSQLCompiler(compiler.SQLCompiler):
seen = self.query.included_inherited_models.copy()
if start_alias:
seen[None] = start_alias
for field, model in opts.get_fields_with_model():
for field, model in opts.get_concrete_fields_with_model():
if from_parent and model is not None and issubclass(from_parent, model):
# Avoid loading data for already loaded parents.
continue
......
......@@ -794,3 +794,12 @@ class GeoQuerySetTest(TestCase):
self.assertEqual(True, union.equals_exact(u2, tol))
qs = City.objects.filter(name='NotACity')
self.assertEqual(None, qs.unionagg(field_name='point'))
def test_non_concrete_field(self):
pkfield = City._meta.get_field_by_name('id')[0]
orig_pkfield_col = pkfield.column
pkfield.column = None
try:
list(City.objects.all())
finally:
pkfield.column = orig_pkfield_col
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment