Как экспортировать в Excel объект Django, где каждый объект ForeignKey представляет собой новый столбец с библиотекой импорта-экспорта?

1
9

У меня есть модель, представляющая некоторый товар на складе:

(code был упрощен)

Таким образом, каждый StockItem может существовать на разных складах, но с разным оставшимся количеством. Есть ли способ создать ModelResource для экспорта оставшегося количества для каждого склада?

Пример таблицы:

Мой ModelResource:

Я пытался переопределить метод __init__, но, вероятно, сделал это неправильно.

class StockItem(models.Model):
    name = models.CharField()
    category = models.Charfield()
    stock = models.ForeignKey(Stock) # <- Here is few stocks
    quantity = models.IntegerField(default=0)
+----+--------+----------+---------+---------+
| ID |  Name  | Category | Stock A | Stock B |
+----+--------+----------+---------+---------+
|  1 | Item 1 | Cat 1    |       1 |       1 |
|  2 | Item 2 | Cat 2    |      10 |       8 |
|  3 | Item 3 | Cat 3    |      14 |      32 |
+----+--------+----------+---------+---------+
class StockItemsRemainingsResource(resources.ModelResource):

    class Meta:
        model = models.StockItem
        fields = ('name', 'category')

    def __init__(self):
            super().__init__()
            for item in self.get_queryset():
                stock_name = item.stock.name
                self.fields[f"quantity_{stock_name}"] = fields.Field(
                    attribute="quantity",
                    column_name=stock_name,
                    widget=widgets.ForeignKeyWidget(
                        models.Stock,
                        "pk"
                    )
                )
Раиса
Вопрос задан15 апреля 2024 г.

1 Ответ

Ваш ответ

Загрузить файл.