Django:在管理页面中以表格显示ManyToManyField

时间:2019-06-26 09:43:28

标签: django django-admin

我有以下两种型号。

class Question(models.Model):
    id = models.AutoField(primary_key=True)
    question_body = models.TextField(blank=True)
    question_response = models.TextField(blank=True)

    def __str__(self):
        return self.question_body 

class SIGRound(models.Model):
    sig = models.CharField(max_length=9, choices=SIG_CHOICES)
    round_number = models.IntegerField(default=1)
    round_description = models.CharField(max_length=500)
    questions = models.ManyToManyField(Question)

我想从管理页面使用SIGRound,并且由于它是多对多字段,因此关于StackOverflow的许多答案建议使用filter_horizontalinline

因此,我同时实现了这两种方法,并检查了它们的外观,filter_horizontal并没有提供我想要的东西,而inline看起来像这样:

enter image description here 这是我当前正在使用的代码:

class QuestionInline(admin.TabularInline):
    model = SIGRound.questions.through

@admin.register(SIGRound)
class SIGRoundAdmin(admin.ModelAdmin):
    inlines=[QuestionInline]

但是我想将此字段显示为表格,类似于普通管理页面中的list_display,我该怎么做?

0 个答案:

没有答案