链接外键反向查找的每个项目组

时间:2018-09-12 21:05:58

标签: django django-orm django-tables2

我正尝试为Unit对象之外的Lesson对象设置反向查找。

这是Lesson对象:

class Lesson(CreatorModel):
    title = models.CharField(null=False, blank=False, max_length=128)
    unit = models.ForeignKey('Unit', on_delete=models.CASCADE, null=True, blank=True, related_name='lessons')

所以我可以使用unit.lessons

对单元对象进行反向查找

我正在尝试在“单位列表”表中获取一个用逗号分隔的“课程”对象列表。这是我尝试过的列,它不起作用:

lessons = tables.Column(linkify=lambda record: record.lessons.all())

它仅显示错误链接的查询集对象:[<Lesson: Test Lesson>]

1 个答案:

答案 0 :(得分:0)

您将要像这样使用tables.ManyToManyColumn

class Unit(model.Model):
    name = models.CharField(null=False, blank=False, max_length=128)

    def get_absolute_url(self):
        # make sure you define this method on Unit.
        return reverse('TODO', args=[self.pk])

class Lesson(CreatorModel):
    title = models.CharField(null=False, blank=False, max_length=128)
    unit = models.ForeignKey('Unit', on_delete=models.CASCADE, null=True, blank=True, related_name='lessons')


class UnitTable(tables.Table
    lessons = tables.ManyToManyColumn(linkify_item=True)