Есть ли эффективный способ получить Django-модель объекта modeladmin из действия администратора?
У меня есть действие, которое добавляется к нескольким админам модели Django. Часть этого действия полагается на modeladmin и queryset следующим образом:
def my_action(modeladmin, request, queryset):
queryset_model_name = queryset.first().__class__.__name__
model_to_update = apps.get_model(app_label='main', model_name=queryset_model_name)
# more code here that relies on both queryset_model_name and model_to_update
Есть ли способ рефакторить это? Возможно, вместо этого можно получить саму строку модели непосредственно из modeladmin
?
Я искал ModelAdmin на странице django doc, но ничего не нашел.
Любая помощь будет оценена по достоинству! Заранее спасибо.
А queryset
имеет атрибут .model
, поэтому вы можете получить ссылку на модель с помощью:
def my_action(modeladmin, request, queryset):
model = queryset.model
# …