Необходимо создать модель Djano, которая предоставит возможность автоматического добавления атрибута пользовательской модели для каждой модели django

#python #django #django-models #django-rest-framework #django-views

#python #django #django-models #django-rest-framework #django-views

Вопрос:

Проблема с каркасом Django rest-

Предположим, что сейчас у нас есть 4 модели: 1. Пользователь, 2. Школа, 3.Учащиеся, 4. Учителя.

Теперь у всех них есть некоторые поля формы, которые они должны отправлять самостоятельно.

Теперь нам нужно предоставить «кнопку добавления», с помощью которой, если пользователь хочет ввести для них дополнительные данные со стороны интерфейса, скажем, учитель хочет создать новое поле из своей учетной записи со стороны интерфейса, она нажимает «добавить кнопку», после чего наш «Поле ModelCustomField» — «заголовок» появится во внешнем интерфейсе, некоторые входные данные были введены, и она нажимает на кнопку сохранить, чтобы сохранить его. После сохранения его следует сохранить в базе данных с таблицей, привязанной к «ModelCustomField», с некоторыми дополнительными атрибутами таблицы, такими как —

1.user_id

  1. Model_related_to

Этот атрибут Model_related_to должен сохранять, какую модель или представление использует учитель прямо сейчас. но данные были предоставлены интерфейсу только через API. итак, есть ли какой-либо метод или техника, с помощью которых я могу реализовать эту мою теорию. Мне нужно подготовить функциональность CRUD для этой новой пользовательской модели.

 class ModelCustomFields(models.Model): 
    user_id = models.IntegerField()
    model_related_to = models.CharField(max_length=500) 
    heading = models.CharField(max_length=500)  - 
    created_on = models.DateTimeField(auto_now_add=True)
    updated_on = models.DateTimeField(auto_now=True)

    def __str__(self):
        return str(self.heading)
  

Комментарии:

1. Итак, вы хотите просто связать ваши экземпляры ModelCustomFields с экземплярами пользователя, школы, студентов или учителя?

2. Смотрите, мы можем добавить внешний ключ для подключения Model-customFields из Model1 и легко использовать его во внешнем интерфейсе для создания дополнительных полей (как атрибут Model-customFields). Но что, если я хочу использовать Model-customFields с каждой Моделей1,2,3…… n, чтобы я мог получить одинаковую функциональность для всех. Возможно ли это?

3. Я думаю, что эта статья может вам помочь realpython.com/modeling-polymorphism-django-python