【发布时间】:2019-07-18 08:42:48
【问题描述】:
我在 Django 管理面板中显示多对多关系表的数据。我得到了 None 而不是名称列表。
我正在使用:
- Python:3.6
- Django:2.2
List_display for ManytoMany fields in Admin panel
我也已经就这个话题提出了一个相关的问题。话虽如此,从那以后我改变了我的模型(我也没有得到答案)。
型号:
class Assessment(models.Model):
name = models.CharField(max_length=255)
class Participant(models.Model):
user = models.OneToOneField(User,on_delete=models.CASCADE)
first_name = models.CharField(max_length=255,blank=True,null=True)
class Seminar(models.Model):
topic = models.CharField(max_length=255)
assessment = models.ManyToManyField(Assessment,blank=True)
participant = models.ManyToManyField(Participant,blank=True,through='SeminarParticipant',through_fields=('seminar','participant'))
class SeminarParticipant(models.Model):
seminar = models.ForeignKey(Seminar,blank=True,on_delete=models.CASCADE)
participant = models.ForeignKey(Participant,blank=True,on_delete=models.CASCADE)
request_time = models.PositiveIntegerField(default=0,validators=[MinValueValidator(0),])
is_survey_completed = models.BooleanField(default=False)
管理员:
@admin.register(Seminar)
class SeminarAdmin(admin.ModelAdmin):
list_display = ('topic''assessment')
def assessment(self,obj):
return "\n".join([item for item in obj.assessment.all()])
我在研讨会管理员的 list_display 中期待评估名称,但在管理面板的 list_display 中得到了assessments.Assessment.None。
输出快照:
非常感谢您的帮助
【问题讨论】: