Как я могу подключить несколько таблиц моделей 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 - это то, что написано