diff --git a/evennia/web/admin/accounts.py b/evennia/web/admin/accounts.py index 6f3f1aa9eb..2bae04d806 100644 --- a/evennia/web/admin/accounts.py +++ b/evennia/web/admin/accounts.py @@ -59,7 +59,7 @@ class AccountChangeForm(UserChangeForm): help_text="This is the Python-path to the class implementing the actual account functionality. " "You usually don't need to change this from the default.
" "If your custom class is not found here, it may not be imported as part of Evennia's startup.", - choices=adminutils.get_and_load_typeclasses(parent=AccountDB), + choices=lambda: adminutils.get_and_load_typeclasses(parent=AccountDB), ) db_lock_storage = forms.CharField( diff --git a/evennia/web/admin/objects.py b/evennia/web/admin/objects.py index cb7e387e41..24397f9bf5 100644 --- a/evennia/web/admin/objects.py +++ b/evennia/web/admin/objects.py @@ -64,7 +64,7 @@ class ObjectCreateForm(forms.ModelForm): f"
If you are creating a Character you usually need {settings.BASE_CHARACTER_TYPECLASS} " "or a subclass of that.
If your custom class is not found in the list, it may not be imported " "as part of Evennia's startup.", - choices=adminutils.get_and_load_typeclasses(parent=ObjectDB)) + choices=lambda: adminutils.get_and_load_typeclasses(parent=ObjectDB)) db_lock_storage = forms.CharField( label="Locks", required=False, diff --git a/evennia/web/admin/scripts.py b/evennia/web/admin/scripts.py index 6d8ec117b0..2952f9b66f 100644 --- a/evennia/web/admin/scripts.py +++ b/evennia/web/admin/scripts.py @@ -23,7 +23,7 @@ class ScriptForm(forms.ModelForm): label="Typeclass", help_text="This is the Python-path to the class implementing the actual script functionality. " "
If your custom class is not found here, it may not be imported as part of Evennia's startup.", - choices=adminutils.get_and_load_typeclasses( + choices=lambda: adminutils.get_and_load_typeclasses( parent=ScriptDB, excluded_parents=["evennia.prototypes.prototypes.DbPrototype"]) )