[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
This commit is contained in:
Anssi Kääriäinen 2013-11-16 20:51:47 +02:00
parent 1fd762c106
commit cbf8784d20
1 changed files with 5 additions and 1 deletions

View File

@ -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: