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.

Вернуться на верх