Make the admin base_model setting optional.
It can be detected using get_base_polymorphic_model()
This commit is contained in:
+4
-4
@@ -63,7 +63,7 @@ The models are taken from :ref:`advanced-features`.
|
||||
|
||||
class ModelAChildAdmin(PolymorphicChildModelAdmin):
|
||||
""" Base admin class for all child models """
|
||||
base_model = ModelA
|
||||
base_model = ModelA # Optional, explicitly set here.
|
||||
|
||||
# By using these `base_...` attributes instead of the regular ModelAdmin `form` and `fieldsets`,
|
||||
# the additional fields of the child models are automatically added to the admin form.
|
||||
@@ -75,13 +75,13 @@ The models are taken from :ref:`advanced-features`.
|
||||
|
||||
@admin.register(ModelB)
|
||||
class ModelBAdmin(ModelAChildAdmin):
|
||||
base_model = ModelB
|
||||
base_model = ModelB # Explicitly set here!
|
||||
# define custom features here
|
||||
|
||||
|
||||
@admin.register(ModelC)
|
||||
class ModelCAdmin(ModelBAdmin):
|
||||
base_model = ModelC
|
||||
base_model = ModelC # Explicitly set here!
|
||||
show_in_index = True # makes child model admin visible in main admin site
|
||||
# define custom features here
|
||||
|
||||
@@ -89,7 +89,7 @@ The models are taken from :ref:`advanced-features`.
|
||||
@admin.register(ModelA)
|
||||
class ModelAParentAdmin(PolymorphicParentModelAdmin):
|
||||
""" The parent model admin """
|
||||
base_model = ModelA
|
||||
base_model = ModelA # Optional, explicitly set here.
|
||||
child_models = (ModelB, ModelC)
|
||||
list_filter = (PolymorphicChildModelFilter,) # This is optional.
|
||||
|
||||
|
||||
@@ -69,7 +69,7 @@ The admin :ref:`admin example <admin-example>` becomes:
|
||||
|
||||
|
||||
class ModelAChildAdmin(PolymorphicChildModelAdmin, VersionAdmin):
|
||||
base_model = ModelA
|
||||
base_model = ModelA # optional, explicitly set here.
|
||||
base_form = ...
|
||||
base_fieldsets = (
|
||||
...
|
||||
@@ -83,7 +83,7 @@ The admin :ref:`admin example <admin-example>` becomes:
|
||||
|
||||
|
||||
class ModelAParentAdmin(VersionAdmin, PolymorphicParentModelAdmin):
|
||||
base_model = ModelA
|
||||
base_model = ModelA # optional, explicitly set here.
|
||||
child_models = (
|
||||
(ModelB, ModelBAdmin),
|
||||
(ModelC, ModelCAdmin),
|
||||
|
||||
Reference in New Issue
Block a user