Django list_editable с пользовательским методом в list_display
Я пытаюсь сделать встроенное редактирование для списка. У меня есть колонка language
, которую я использую пользовательский метод get_language
для отображения так, как я хочу.
from django.contrib import admin
from .models import *
class MovieAdminModel(admin.ModelAdmin):
search_fields= ('title_en')
list_display = ('get_language',)
list_editable = ('get_language')
def get_language(self, obj):
if obj.language==1:
return 'Persian With English Subtitle'
else:
return 'Persian'
get_language.admin_order_field = "language"
get_language.short_description = "language"
Когда я использую get_language
в list_editable, возвращается ошибка, потому что get_language
нет в модели, а language
есть. Если я использую language
в list_editable, пишет, что он не определен в list_display. Как мне решить эту проблему?
благоговейно:
class MovieAdminModel(admin.ModelAdmin):
search_fields= ('title_en')
list_display = ('__str__', 'language',)
list_editable = ('language')
__str__
- он нужен, иначе у вас нет ссылки на change_form.