I have a problem concerning duplicate adminfields

163 views
Skip to first unread message

Franklin Tazuh

unread,
Apr 19, 2020, 8:12:17 PM4/19/20
to Django users
Hey guys, am getting this error in my django ecommerce website using cartridge ,
ERRORS:
<class 'main.admin.HomePageAdmin'>: (admin.E012) There are duplicate field(s) in 'fieldsets[0][1]'.

System check identified 1 issue (0 silenced).
This is my admin.py file

from django.contrib import admin
from mezzanine.pages.admin import PageAdmin
from mezzanine.galleries.models import Gallery
from mezzanine.galleries.admin import GalleryAdmin
from mezzanine.forms.models import Form
from mezzanine.forms.admin import FormAdmin
from mezzanine.core.admin import StackedDynamicInlineAdmin
from mezzanine.core.admin import TabularDynamicInlineAdmin
from mezzanine.utils.admin import SingletonAdmin
from mezzanine.blog.admin import BlogPostAdmin
from cartridge.shop.admin import ProductAdmin
from .models import IconBlurb,Homepage, FaqPage, FaqEntry, SiteConfiguration


class IconBlurbAdmin(StackedDynamicInlineAdmin):
"""Admin class for IconBlurb model."""

model = IconBlurb


class HomePageAdmin(PageAdmin):
"""Admin class for Homepage model.

Inline IconBlurbAdmin for adding/removing
arbitrary number of Icon Blurbs
"""

inlines = [IconBlurbAdmin, ]


class FaqEntryAdmin(TabularDynamicInlineAdmin):
"""Admin class for FaqEntry model."""

model = FaqEntry


class FaqPageAdmin(PageAdmin):
"""Admin class for FaqPage model.

Inlines FaqEntryAdmin for adding/removing
arbitrary number of FAQ entries.
"""

inlines = [FaqEntryAdmin, ]


class NoCSSGalleryAdmin(GalleryAdmin):
"""Remove css from GalleryAdmin."""

class Media:
extend = False


class CustomFormAdmin(FormAdmin):
"""Add IconBlurbs to FormAdmin.

Used in Contact page for displaying
address, email, etc blocks in contact page.
"""

def init(self, *args, kwargs):
"""Extend parent class inlines tuple."""
super(CustomFormAdmin, self).init(*args, kwargs)
self.inlines += (IconBlurbAdmin, )

# Add custom fields to product admin and blogpost admin. Both fields
# are defined in EXTRA_MODEL_FIELDS setting in settings.py file
ProductAdmin.fieldsets[0][1]["fields"].extend(["image_back"])
BlogPostAdmin.fieldsets[0][1]["fields"].insert(-2, "lead")

admin.site.register(SiteConfiguration, SingletonAdmin)
admin.site.register(Homepage, HomePageAdmin)
admin.site.register(FaqPage, FaqPageAdmin)
admin.site.unregister(Gallery)
admin.site.register(Gallery, NoCSSGalleryAdmin)
admin.site.unregister(Form)
admin.site.register(Form, CustomFormAdmin)

krnrrr

unread,
Apr 20, 2020, 7:09:51 AM4/20/20
to Django users
i bet the problem is that your ProductAdmin and BlogPostAdmin also inherit from PageAdmin and you use list in fieldsets.
so what is happeing is that you mutate the same instance of list for all subclasses and thus create duplicates

Reply all
Reply to author
Forward
0 new messages