Во время блокировки Covid-19 я работал над преобразованием старого внутреннего приложения Flask в приложение Django (просто для развлечения и чтобы лучше узнать Django).
Каждый час наша Active Directory и телефонная система доставляют CSV-файл с информацией о пользователе AD и списком ключевых слов из телефонной системы.
Я написал небольшое расширение manger.py, которое я могу вызвать с помощью cronjob. Это расширение очищает таблицу модели ADbruger и повторно заполняет модель через Pandas DataFrame, который я сохраняю через bulk_create.
Вопрос, который у меня возникает, - как сохранить контент в связанных моделях? Я импортирую данные базовой модели, как описано выше, с Pandas и bulk_create. Затем я хочу иметь дополнительную модель или унаследованную модель, которая дает модели возможность расширяться за счет собственных ключевых слов пользователей.
Есть ли способ отсоединить дочернюю модель и подключить ее позже, или есть способ для меня иметь две параллельные модели, которые не являются унаследованными моделями, а ведут себя как они?
В своем выводе (шаблонах) я хочу, чтобы пользователи могли показывать собственные ключевые слова, а не только один я получаю в исходном CSV-выводе.
Вот "основная" модель
class ADbruger(models.Model):
initials = models.CharField(max_length=128, unique=True)
name = models.CharField(max_length=128)
title = models.CharField(max_length=128)
keywords = models.CharField(max_length=409) # the data in the CSV is a csv list within a list
def __str__(self):
return initials
Вот связанная, но не ссылочная модель. Сохраненные данные должны сохраняться, даже если модель ADbruger очищена
class UsersOwnKeywords(models.Model):
initials = models.CharField(max_length=128)
keyword = models.CharField(max_length=256)
def __str__(self):
return self.initials