我是django的新手,所以不太了解它。我的问题是我在一个领域的模型中使用多选。当我试图使用list_display在管理员中显示该字段时,它给出了一个不可用类型的错误:列表。请帮忙。
my models.py ::
language = MultiSelectField(
choices = LANG_CHOICES,
null = False,
blank = False,
)
我的admin.py ::
from django.contrib import admin
from .models import Newspapers
class NewspaperAdmin(admin.ModelAdmin):
list_display = ['id','language','title','price']
,错误是:
TypeError at /admin/newspapers/newspapers/
unhashable type: 'list'
答案 0 :(得分:0)
创建一个函数来更有效地为django定义语言..而不是在list_display中使用它。
from django.contrib import admin
from .models import Newspapers
class NewspaperAdmin(admin.ModelAdmin):
list_display = ('id','get_languages','title','price')
def get_languages(self, obj):
return ",".join([l for l in obj.language])