diff --git a/evennia/accounts/admin.py b/evennia/accounts/admin.py index 9e245068db..7dbe34f93a 100644 --- a/evennia/accounts/admin.py +++ b/evennia/accounts/admin.py @@ -88,6 +88,7 @@ class AccountForm(forms.ModelForm): class Meta(object): model = AccountDB fields = "__all__" + app_label = "accounts" db_key = forms.RegexField( label="Username", diff --git a/evennia/accounts/models.py b/evennia/accounts/models.py index 53ba05ea78..18f2dd9bf0 100644 --- a/evennia/accounts/models.py +++ b/evennia/accounts/models.py @@ -109,8 +109,8 @@ class AccountDB(TypedObject, AbstractUser): __applabel__ = "accounts" __settingsclasspath__ = settings.BASE_SCRIPT_TYPECLASS - class Meta(object): - verbose_name = "Account" + # class Meta: + # verbose_name = "Account" # cmdset_storage property # This seems very sensitive to caching, so leaving it be for now /Griatch diff --git a/evennia/typeclasses/models.py b/evennia/typeclasses/models.py index c6869b339f..ef7ec2918b 100644 --- a/evennia/typeclasses/models.py +++ b/evennia/typeclasses/models.py @@ -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")