Fix setting app_label correctly for typeclass
This commit is contained in:
parent
a721760da6
commit
e8b99175ad
3 changed files with 16 additions and 4 deletions
|
|
@ -105,9 +105,20 @@ class TypeclassBase(SharedMemoryModelBase):
|
|||
attrs["path"] = "%s.%s" % (attrs["__module__"], name)
|
||||
|
||||
# typeclass proxy setup
|
||||
if "Meta" not in attrs:
|
||||
app_label = None
|
||||
# first check explicit __applabel__ on the typeclass
|
||||
if "__applabel__" not in attrs:
|
||||
# find the app-label in one of the bases, usually the dbmodel
|
||||
for base in bases:
|
||||
try:
|
||||
attrs["__applabel__"] = base.__applabel__
|
||||
except AttributeError:
|
||||
pass
|
||||
else:
|
||||
break
|
||||
|
||||
class Meta(object):
|
||||
if "Meta" not in attrs:
|
||||
class Meta:
|
||||
proxy = True
|
||||
app_label = attrs.get("__applabel__", "typeclasses")
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue