#python #django
#python #django
Вопрос:
Пытаюсь заставить django-polymorphic работать в admin. У меня есть несколько дочерних моделей, наследуемых от BaseModel, но нажатие на любую из них в Django admin приводит к списку всех объектов базовой модели, что для меня бесполезно. Я пробовал как переопределить набор запросов, так и включить list_filter, как предполагает документация (устаревшая, я узнал), но ни то, ни другое, похоже, не имеет никакого эффекта.
class BaseModelChildAdmin(PolymorphicChildModelAdmin):
base_model = BaseModel
show_in_index = False
form = BaseModelForm
class ChildModelAdmin(BaseModelChildAdmin):
exclude = ('asset_url', 'asset_file')
base_model = ChildModel
show_in_index = True
def queryset(self, request):
qs = ChildModel.objects.all()
return qs
class BaseModelAdmin(PolymorphicParentModelAdmin):
base_model = BaseModel
child_models = [(ChildModel, ChildModelAdmin)]
list_filter = (PolymorphicChildModelFilter,)
Комментарии:
1. Как я уже говорил в одном из ваших предыдущих вопросов, вам необходимо нормализовать свои модели. Если бы вы это сделали, вы бы не пошли на эти погони за дикими гусями
2. @e4c5 Спасибо, но для меня это не вариант. Я не являюсь ведущим разработчиком здесь, и я работаю здесь менее двух недель. Хотя ваш совет может быть хорошим, он не очень полезен здесь в отношении того, что, по моему мнению, все еще является хорошим вопросом, который может быть полезен другим людям.