В django-table2 добавить столбец из связанной таблицы

Рейтинг: 0Ответов: 1Опубликовано: 19.06.2023

Я пытаюсь добавить в таблицу table1 построенную на django table2, поле из другой таблицы, к примеру, field2. Подскажите, пожалуйста, как это сделать? Ниже приведенный код дает результат для поля field2 = None

Models.py

class table1(models.Model):
           field1 = models.AutoField(primary_key=True,)

class table2(models.Model):
           field2 = models.AutoField(primary_key=True,)
           field3 = models.ManyToManyFieldt(table1, related_name='related_table')

Tables.py

class table1Table(table2, tables.Table):
    class Meta:
        model = table1
        attrs = {"class": "table table-hover table-bordered"}

        sequence = ('field2', 'field1',)

Ответы

▲ 0

Необходимо было использовать метод render_foo с атрибутом record, для доступа к значению поля.

Tables.py

class table1Table(table2, tables.Table):
    class Meta:
        model = table1
        attrs = {"class": "table table-hover table-bordered"}

        sequence = ('field1', 'field2')

    def render_field2(self, value, record):
        field1 = record.field1
        data = table2.objects.get(field3__field1=field1).field2
        return data