Fix django admin for other typeclasses. ChannelDB still requires subscribers to validate. Changed PickleField's clean method to prevent attribute errors for attributes added during basetype setup.

This commit is contained in:
Tehom 2016-12-06 07:06:46 -05:00
parent c16a03fb5e
commit ee19a92c55
4 changed files with 54 additions and 5 deletions

View file

@ -2,6 +2,8 @@
# This sets up how models are displayed
# in the web admin interface.
#
from django.conf import settings
from evennia.typeclasses.admin import AttributeInline, TagInline
from evennia.scripts.models import ScriptDB
@ -50,5 +52,22 @@ class ScriptDBAdmin(admin.ModelAdmin):
)
inlines = [ScriptTagInline, ScriptAttributeInline]
def save_model(self, request, obj, form, change):
"""
Model-save hook.
Args:
request (Request): Incoming request.
obj (Object): Database object.
form (Form): Form instance.
change (bool): If this is a change or a new object.
"""
obj.save()
if not change:
# adding a new object
# have to call init with typeclass passed to it
obj.set_class_from_typeclass(typeclass_path=obj.db_typeclass_path)
admin.site.register(ScriptDB, ScriptDBAdmin)