Django: отображение ManyToManyField на странице администратора в виде таблицы - PullRequest
0 голосов
/ 26 июня 2019

У меня есть две следующие модели.

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_horizontal или inline

Итак, я реализовал оба и проверил, как они выглядят, 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 на обычной странице администратора, как мне поступить?

...