Как изменить родительский класс с models.Model на PolymorphicModelPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как изменить родительский класс с models.Model на PolymorphicModel

Сообщение Anonymous »

У меня есть две модели Django: Tomato и Potato. Оба они используются несколько раз в моем проекте.
Недавно я создал поле внешнего ключа в третьей модели, ShoppingBag, которому должно быть разрешено содержать один экземпляр из Tomato или Potato.< /p>
Мой первый подход заключался в создании пустого (поскольку Tomato и Potato не имеют общих полей) суперкласса Buyable, который наследует PolymorphicModel.
Затем я установил модель, на которую ссылается в ShoppingBag.myforeignkey, чтобы принимать экземпляры Buyable, и я подумал, что на этом все.
Сейчас я сталкиваюсь с множеством ошибок, в основном из-за того, что Potato.id и Tomato.id заменен на .buyable_ptr, а уже существующим полям внешнего ключа и m2m для Potato и Tomato это не очень нравится.
Я хотел спросить, есть ли официальный способ справиться с этим переключением между родителями или альтернативный, более простой способ решения этой проблемы.
Я создал функцию, которая генерирует новый экземпляр суперкласса и возвращает его идентификатор. Затем я установил эту функцию в качестве значения по умолчанию в файле миграции. Решение не сработало, поскольку сгенерированный идентификатор всегда был равен 1.
import Buyable

def generate_id():
new_instance = Buyable()
new_instance.save()
return new_instance


Подробнее здесь: https://stackoverflow.com/questions/790 ... rphicmodel
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как изменить родительский класс с models.Model на PolymorphicModel
    Anonymous » » в форуме Python
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Как изменить родительский класс с models.Model на PolymorphicModel
    Anonymous » » в форуме Python
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Как исправить ошибку: «base_model.model.model.model.embed_tokens» означает при использовании peftModel в Python? (FinGPT
    Anonymous » » в форуме Python
    0 Ответы
    109 Просмотры
    Последнее сообщение Anonymous
  • Tf.keras.models.load_model не загружает модель, сохраненную с помощью tf.keras.models.save_model
    Anonymous » » в форуме Python
    0 Ответы
    71 Просмотры
    Последнее сообщение Anonymous
  • Django Project Models.py Versus Models.py.py
    Anonymous » » в форуме Python
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»