Как управлять и сохранять вложенные массивы в моделях django

Я получаю данные от внешнего приложения в виде массивов или, скажем, списков объектов. Я хочу создавать и сохранять данные, используя модели и представления Django. Я немного запутался в том, как можно создать структуру таблиц для сохранения такого типа данных. Вот как я буду получать данные:

[
  { question: 'Screen Works Properly', parentId: 1, child: [] },
  {
    question: 'Theres issue  of Hardware',
    parentId: 2,
    child: [
      { id: 15, sub_question: 'Broken Speakers' },
      { id: 18, sub_question: 'Battery Damaged' }
    ]
  }
]

В списке может быть неограниченное количество объектов, и каждый объект имеет дочерний массив, который также может содержать неограниченное количество объектов.

Я вижу, что могу создать модель Data и затем связать объекты с помощью ForeignKey, но как я буду управлять дочерними массивами/списками в объекте. Может ли кто-нибудь подсказать мне, как я могу создавать модели для сохранения такого типа данных?

Это моя попытка :

class Data(models.Model):
    order = models.OneToOneField(
        PickupOrder, on_delete=models.SET_NULL, null=True)

    def __str__(self):
        return self.id


class Question(models.Model):
    question = models.ForeignKey(
        Data, on_delete=models.SET_NULL, null=True)

    def __str__(self):
        return self.id


class Child(models.Model):
    child = models.OneToOneField(
        Question, on_delete=models.SET_NULL, null=True)

    def __str__(self):
        return self.id


class SubQuestion(models.Model):
    sub_question = models.ForeignKey(
        Child, on_delete=models.SET_NULL, null=True)

    def __str__(self):
        return self.id

Считаете ли вы, что это правильный способ управления? Или могут быть какие-то недостатки или какой-либо лучший способ подойти к этому.

Вернуться на верх