summaryrefslogtreecommitdiff
path: root/django/forms
diff options
context:
space:
mode:
authorAnssi Kääriäinen <akaariai@gmail.com>2013-11-16 20:51:47 +0200
committerAnssi Kääriäinen <akaariai@gmail.com>2013-11-16 20:55:37 +0200
commitcbf8784d206819e83c43d75b422af51209c4b74c (patch)
tree1759ccd4660e079df8694f64f675e4d9a80a441e /django/forms
parent1fd762c106ed0e6888fe66e7513718ca379385c0 (diff)
[1.6.x] Fixed a regression caused by fix for #21428
On Python 3 sorting Fields mixed with GenericForeignKeys doesn't work as GenericForeignKey isn't a subclass of django.db.models.fields.Field. Refs #21428. Backport of 326539f6a4 from master
Diffstat (limited to 'django/forms')
-rw-r--r--django/forms/models.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/django/forms/models.py b/django/forms/models.py
index 6587be170f..67f8778c46 100644
--- a/django/forms/models.py
+++ b/django/forms/models.py
@@ -173,7 +173,11 @@ def fields_for_model(model, fields=None, exclude=None, widgets=None,
field_list = []
ignored = []
opts = model._meta
- for f in sorted(opts.concrete_fields + opts.virtual_fields + opts.many_to_many):
+ # Avoid circular import
+ from django.db.models.fields import Field as ModelField
+ sortable_virtual_fields = [f for f in opts.virtual_fields
+ if isinstance(f, ModelField)]
+ for f in sorted(opts.concrete_fields + sortable_virtual_fields + opts.many_to_many):
if not getattr(f, 'editable', False):
continue
if fields is not None and not f.name in fields: