Доброе утро, извините, мой английский, потому что я использую Google Translate.Value Object Django
Я начинаю с Python и Django, и у меня возникает вопрос о создании моих моделей. Я хотел бы создать что-то вроде:
Person (models.Model)
- Имя
- ...
- Адрес
Адрес (models.Model)
- PublicPlace
- Район
- ...
То есть, адрес в качестве отдельного ValueObject для того, чтобы использовать более чем одну модель. В полях базы данных в классе адресов будет сохраняться таблица «Люди» и другие объекты, которые могут возникнуть («Предприятие», «Клиент», «Любой, у кого есть адрес»). Поэтому избегайте дублирования всех полей адресов для каждой требуемой модели.
Я видел, что это нужно сделать, установив адрес класса Meta для абстрактного и наследуя остальные. Но если я хочу сделать больше ValueObjects, для этого нужно унаследовать несколько классов, я задаюсь вопросом, есть ли более правильный путь.
спасибо.
Почему вы хотите сохранить поля внутри Person и т. Д., Вместо того, чтобы иметь адрес как конкретную модель и использовать отношения? –
Это отношение 1..1 в данном конкретном случае планировало оставить одну и ту же таблицу. Эти классы используются только в качестве примера, может быть другим ValueObject. Я обычно работаю с .NET и DDD и хочу знать, как применить это в Django ... –