在管理员list_filter中显示ManyToManyField属性

时间:2019-01-13 16:32:21

标签: django admin

我有以下Django模型:

class Instrument(models.Model):
    name = models.CharField(max_length=700,
                            blank=False)
    instrument_type = models.CharField(max_length=700,
                            blank=False)

class Student(models.Model):
    name = models.CharField(max_length=700,
                            blank=False)
    instruments_played = models.ManyToManyField(Instrument)

我希望能够在admin视图中的工具(右面板)上执行list_filter。

所以我尝试了:

class StudentAdmin(admin.ModelAdmin):
    list_display = ('name', 'instruments_played__name')
    list_filter = ('instruments_played__name')

但是它不起作用,很可能是由于ManyToManyField。

我希望能够根据他们演奏的乐器来过滤学生(每个学生可以演奏其中的几种乐器)。

感谢您的帮助!

0 个答案:

没有答案