Skip to content

Issues with Inheritance #9

Open
@KMontag42

Description

@KMontag42

Hey,

I'm trying to setup some inherited documents in my db, and I'm having some issues with viewing the base class in mongoadmin.

Here is my code:
Admin.py:

class ActivityAdmin(DocumentAdmin):
    model = BaseActivity
    list_display = ('date_created', 'creator', 'targets',)

class FanActivityAdmin(DocumentAdmin):
    #model = FanActivity
    #list_display = ('date_created', 'creator', 'targets',)
    pass

class EventActivityAdmin(DocumentAdmin):
    #model = EventActivity
    #list_display = ('date_created', 'creator', 'targets',)
    pass

class VenueActivityAdmin(DocumentAdmin):
    #model = VenueActivity
    #list_display = ('date_created', 'creator', 'targets',)
    pass

class ArtistActivityAdmin(DocumentAdmin):
    #model = ArtistActivity
    #list_display = ('date_created', 'creator', 'targets',)
    pass

site.register(FanActivity, FanActivityAdmin)
site.register(EventActivity, EventActivityAdmin)
site.register(VenueActivity, VenueActivityAdmin)
site.register(ArtistActivity, ArtistActivityAdmin)
site.register(BaseActivity, ActivityAdmin)

Models.py:

class BaseActivity(BaseDocument):
    creator          = EmbeddedDocumentField('Creator')
    targets          = ListField(EmbeddedDocumentField('Target'))

    meta = {'allow_inheritance' : True, 'queryset_class' : BaseActivityManager}

class FanActivity(BaseActivity):
    #_admin_opts = BaseActivity
    pass

class ArtistActivity(BaseActivity):
    #_admin_opts = ArtistActivityAdmin
    pass
class VenueActivity(BaseActivity):
   # _admin_opts = VenueActivityAdmin
    pass
class EventActivity(BaseActivity):
    #_admin_opts = EventActivityAdmin
    pass

This is the error I get when I try to go to /mongoadmin/activity/baseactivity:
AttributeError at /mongoadmin/activity/baseactivity/
'FanActivity' object has no attribute '_admin_opts'

Now, when I try to uncomment the _admin_opts attribute to the models, here is what I get:
AttributeError at /mongoadmin/activity/baseactivity/
type object 'BaseActivity' has no attribute 'get_field_by_name'

What am I doing wrong??

Thanks for your help!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions