Как я могу подключить несколько таблиц моделей Django для импорта-экспорта данных?

У меня есть три таблицы моделей 3 Django.

Они как бы связаны друг с другом, так что каждая строка из одной таблицы моделей соответствует такой же строке из другой таблицы моделей.

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

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

Строк, строк из 3 таблиц - одна строка из 3 таблиц - это параметры одного объекта.

Как я могу как-то соединить эти три таблицы моделей? Буду рад любой помощи. Я хочу сохранять и загружать данные одновременно в 3 таблицы моделей через форму.

Как я могу каким-то образом загрузить и получить данные.

Как я могу подключить несколько таблиц моделей для импорта-экспорта данных? Как я могу подключить несколько таблиц моделей для импорта-экспорта данных, как если бы это была одна большая таблица моделей, объединенная из 3 таблиц моделей?

from django.db import models


class Musician_1(models.Model):
    first_name_1 = models.CharField(max_length=50)
    last_name_1 = models.CharField(max_length=50)
    instrument_1 = models.CharField(max_length=100)


class Musician_2(models.Model):
    first_name_2 = models.CharField(max_length=50)
    last_name_2 = models.CharField(max_length=50)
    instrument_2 = models.CharField(max_length=100)


class Musician_3(models.Model):
    first_name_3 = models.CharField(max_length=50)
    last_name_3 = models.CharField(max_length=50)
    instrument_3 = models.CharField(max_length=100)

Если вы хотите создать модель для нескольких музыкантов, вам нужна только одна модель, и вы просто вызываете ее с помощью некоторого запроса.

Например;

from django.db import models


class Musician(models.Model):
    first_name = models.CharField(max_length=50)
    last_name = models.CharField(max_length=50)
    instrument = models.CharField(max_length=100)

и после этого вы просто создаете объект для каждого музыканта:

from models.py import Musician

musician_1 = Musician(first_name_1, last_name_1, instrument_1)
musician_2 = Musician(first_name_2, last_name_2, instrument_2)
musician_3 = Musician(first_name_3, last_name_3, instrument_3)

musician_1.save()
musician_2.save()
musician_3.save()

но если это просто пример для "подключения" моделей, вы можете использовать ManyToMany, ForeignKey или OneToOne

если вам нужно исключительно "соединить" два:

from django.db import models

class Model1 (models.Model):
    thing = models.CharField()
    model_2 = models.OneToOne(Model2, on_delete=models.CASCADE, related_name='2model')


class Model1 (models.Model):
    thing = models.CharField()
    model_1 = models.OneToOne(Model1, on_delete=models.CASCADE, related_name= "1model")

вы можете продолжить в том же духе для других, но ForeignKey предназначен для одной модели для многих моделей, а ManyToMany - это то, что написано

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