Создание модели для схемы файла csv

Мне нужно создать модель для схемы, которая состоит из имени и столбцов. Пользователи могут построить схему данных с любым количеством столбцов любого типа. Каждый столбец также имеет свое имя (которое будет заголовком столбца в CSV-файле), тип и порядок (просто число для управления порядком столбцов).

Проблема в том, что мне нужно создать схему за один раз с колонками, но я не знаю, как это сделать.

Мои текущие модели:

SCHEMA_TYPE_CHOICE = (
    ('Full Name', 'Full Name'),
    ('Job', 'Job'),
    ('Email', 'Email'),
    ('Company', 'Company'),
    ('Phone Number', 'Phone Number'),
    ('Address', 'Address'),
    ('Date', 'Date'),
)


class Schema(models.Model):
    title = models.CharField(max_length=100, unique=True)
    updated_at = models.DateTimeField(auto_now=True)
    created_at = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.title


class Column(models.Model):
    name = models.CharField(max_length=100)
    type = models.CharField(max_length=100, choices=SCHEMA_TYPE_CHOICE, default='Full Name')
    order = models.PositiveIntegerField(default=1)
    schema = models.ForeignKey(Schema, on_delete=models.CASCADE, related_name='column_schema')

    def __str__(self):
        return self.name

Форма, которую я должен реализовать: введите здесь описание изображения

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