diff --git a/brutaldon/models.py b/brutaldon/models.py index a0c3d7a..33847a1 100644 --- a/brutaldon/models.py +++ b/brutaldon/models.py @@ -29,14 +29,16 @@ class Theme(models.Model): def __str__(self): return self.name - +from django.db.models.fields.related_descriptors import ForeignKeyDeferredAttribute def set_fields(klass): - fields = {} + fields = [] for n in dir(klass): assert n != "_fields" v = getattr(klass, n) - if isinstance(v, models.Field): - fields.add(n) + if not hasattr(v, 'field'): continue + if not isinstance(v.field, models.Field): continue + if isinstance(v, ForeignKeyDeferredAttribute): continue + fields.append(n) setattr(klass, '_fields', fields) return klass