Tastypie/Django: Наполнение реляционной базы данных за один ресурс

Я пытаюсь заполнить реляционную базу данных в Django с помощью Tastypie.

Я подготовил JSON, который будет отправлен в API и затем заполнит базу данных.

Вот что я пытаюсь заполнить в первую очередь, прежде чем работать над остальной частью базы данных.

Этот раздел является инициализацией.

I'm trying to populate this

Вот ресурсы таблиц выше:

class EnvironmentResource(ModelResource):
test_environment_id = fields.ToManyField(*other table in db*), 'environment_id')

class Meta:
    queryset = TestEnvironment.objects.all()

class SetInfoResource(ModelResource):
set_info_id = fields.ToManyField(EnvironmentResource, 'set_info_id')

class Meta:
    queryset = SetInfo.objects.all()

class ConnectedDevicesResource(ModelResource):
class Meta:
    queryset = ConnectedDevices.objects.all()

Я не уверен в том, в какую конечную точку я должен отправить свой JSON. Создать ли мне отдельный ресурс, например PopulateInitilisation, а затем перечислить все модели, которые я посылаю? Что-то вроде этого?

class TestEnvironmentInitialisationResource(ModelResource):
class Meta:
    resource_name = "initialisation"

def deserialize(self, request, data, format='application/json'):
    print("deserialising")
    environment_model = Environment()
    connected_devices_model = ConnectedDevices()
    set_info_model = SetInfo()
    print("Models created from JSON data")

Или мне нужен ресурс, который является точкой входа, а затем он будет заполнен реверсивными отношениями?

Я знаю, что существует select_subclasses, однако я не уверен, что это имеет значение. Есть также hydrate_m2m, но эти отношения являются OneToMany. Поэтому я совсем запутался, как мне поступить в этом случае.

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