Как управлять и сохранять вложенные массивы в моделях 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
Считаете ли вы, что это правильный способ управления? Или могут быть какие-то недостатки или какой-либо лучший способ подойти к этому.