Upgrade the example to use the new style of polymorphic admin registration

fix_request_path_info
Diederik van der Boor 2016-06-13 10:58:11 +02:00
parent c1ee5aad0b
commit 819be4b602
2 changed files with 41 additions and 45 deletions

View File

@ -3,6 +3,12 @@ from polymorphic.admin import PolymorphicParentModelAdmin, PolymorphicChildModel
from pexp.models import * from pexp.models import *
class ProjectAdmin(PolymorphicParentModelAdmin):
base_model = Project
list_filter = (PolymorphicChildModelFilter,)
child_models = (Project, ArtProject, ResearchProject)
class ProjectChildAdmin(PolymorphicChildModelAdmin): class ProjectChildAdmin(PolymorphicChildModelAdmin):
base_model = Project base_model = Project
@ -15,76 +21,66 @@ class ProjectChildAdmin(PolymorphicChildModelAdmin):
) )
class ProjectAdmin(PolymorphicParentModelAdmin):
base_model = Project
list_filter = (PolymorphicChildModelFilter,)
child_models = (
(Project, ProjectChildAdmin),
(ArtProject, ProjectChildAdmin),
(ResearchProject, ProjectChildAdmin),
)
admin.site.register(Project, ProjectAdmin) admin.site.register(Project, ProjectAdmin)
admin.site.register(ArtProject, ProjectChildAdmin)
admin.site.register(ResearchProject, ProjectChildAdmin)
class ModelAAdmin(PolymorphicParentModelAdmin):
base_model = ModelA
list_filter = (PolymorphicChildModelFilter,)
child_models = (ModelA, ModelB, ModelC)
class ModelAChildAdmin(PolymorphicChildModelAdmin): class ModelAChildAdmin(PolymorphicChildModelAdmin):
base_model = ModelA base_model = ModelA
class ModelAAdmin(PolymorphicParentModelAdmin):
base_model = ModelA
list_filter = (PolymorphicChildModelFilter,)
child_models = (
(ModelA, ModelAChildAdmin),
(ModelB, ModelAChildAdmin),
(ModelC, ModelAChildAdmin),
)
admin.site.register(ModelA, ModelAAdmin) admin.site.register(ModelA, ModelAAdmin)
admin.site.register(ModelB, ModelAChildAdmin)
admin.site.register(ModelC, ModelAChildAdmin)
class Model2AAdmin(PolymorphicParentModelAdmin):
base_model = Model2A
list_filter = (PolymorphicChildModelFilter,)
child_models = (Model2A, Model2B, Model2C)
class Model2AChildAdmin(PolymorphicChildModelAdmin): class Model2AChildAdmin(PolymorphicChildModelAdmin):
base_model = Model2A base_model = Model2A
class Model2AAdmin(PolymorphicParentModelAdmin):
base_model = Model2A
list_filter = (PolymorphicChildModelFilter,)
child_models = (
(Model2A, Model2AChildAdmin),
(Model2B, Model2AChildAdmin),
(Model2C, Model2AChildAdmin),
)
admin.site.register(Model2A, Model2AAdmin) admin.site.register(Model2A, Model2AAdmin)
admin.site.register(Model2B, Model2AChildAdmin)
admin.site.register(Model2C, Model2AChildAdmin)
class UUIDModelAAdmin(PolymorphicParentModelAdmin):
base_model = UUIDModelA
list_filter = (PolymorphicChildModelFilter,)
child_models = (UUIDModelA, UUIDModelB)
class UUIDModelAChildAdmin(PolymorphicChildModelAdmin): class UUIDModelAChildAdmin(PolymorphicChildModelAdmin):
base_model = UUIDModelA base_model = UUIDModelA
class UUIDModelAAdmin(PolymorphicParentModelAdmin):
base_model = UUIDModelA
list_filter = (PolymorphicChildModelFilter,)
child_models = (
(UUIDModelA, UUIDModelAChildAdmin),
(UUIDModelB, UUIDModelAChildAdmin),
(UUIDModelC, UUIDModelAChildAdmin),
)
admin.site.register(UUIDModelA, UUIDModelAAdmin) admin.site.register(UUIDModelA, UUIDModelAAdmin)
admin.site.register(UUIDModelB, UUIDModelAChildAdmin)
admin.site.register(UUIDModelC, UUIDModelAChildAdmin)
class ProxyAdmin(PolymorphicParentModelAdmin):
base_model = ProxyBase
list_filter = (PolymorphicChildModelFilter,)
child_models = (ProxyA, ProxyB)
class ProxyChildAdmin(PolymorphicChildModelAdmin): class ProxyChildAdmin(PolymorphicChildModelAdmin):
base_model = ProxyBase base_model = ProxyBase
class ProxyAdmin(PolymorphicParentModelAdmin):
base_model = ProxyBase
list_filter = (PolymorphicChildModelFilter,)
child_models = (
(ProxyA, ProxyChildAdmin),
(ProxyB, ProxyChildAdmin),
)
admin.site.register(ProxyBase, ProxyAdmin) admin.site.register(ProxyBase, ProxyAdmin)
admin.site.register(ProxyA, ProxyChildAdmin)
admin.site.register(ProxyB, ProxyChildAdmin)

View File

@ -4,7 +4,7 @@ import django
from django.db import models from django.db import models
from polymorphic.models import PolymorphicModel from polymorphic.models import PolymorphicModel
from polymorphic.showfields import ShowFieldContent, ShowFieldType, ShowFieldTypeAndContent from polymorphic.showfields import ShowFieldContent, ShowFieldTypeAndContent
class Project(ShowFieldContent, PolymorphicModel): class Project(ShowFieldContent, PolymorphicModel):