Я хотел бы рассказать о наиболее элегантном подходе к разработке моделей с виртуальными полями, такими как внизу в Django ...Django - проектирование моделей с виртуальными полями?
Предположим, мы строим интернет-магазин и все продукты в системе определяются моделью «Продукт».
class Product(models.Model):
# common fields that all products share
name = ...
brand = ...
price = ...
Но магазин будет иметь много видов продукции, полностью несвязанных с Афоризм, так что мне нужно каким-то образом, чтобы сохранить эти виртуальные поля различных видов продукции (то есть. Емкость MP3-плеер, PageCount книги ,. .).
Решения я мог придумать с моими навыками сырья Джанго далеки от совершенства до сих пор:
Имея «custom_fields» собственности и промежуточные таблицы, которые я управлять вручную. (Кричать некрасиво в мое лицо :))
Или наследуя классы от «продукт» на лету с опасных EXEC-Eval заявления Питона (то есть слишком много вуду магии для поддержания , а также реализации потребует знания о внутренних компонентах Django).
Что вы думаете об этом?
TIA.
Абстрактная модель с общими полями также является полезным способом справиться с этим. –