Найти - Пользователи
Полная версия: Модель для компании с филиалами
Начало » Django » Модель для компании с филиалами
1
Andrew82
Коллеги, подскажите, кто знает как лучше реализовать модель в Django для каталога компаний у которых могут быть филиалы:

Компания имеет основной адрес, телефон и т.д., для этого мы создаем примерно следующую модель:
class Company(models.Model):
    name...
    city...
    address...
    phone...

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

сначала думал сделать 2 модели для компании и филиала
class Company(models.Model):
    name...
    city...
    address...
    phone...

class Filial(models.Model):
    name = models.ForeignKey(Company...
    city...
    address...
    phone...

Но может быть лучше сделать просто для
class Company(models.Model):
поле filial = models.BooleanField которое если 1 то это головной офис если 0 то филиал.

как наиболее оптимально связать данные в таблицах БД (и стоит ли вообще это делать через ForeignKey) главное чтоб и работало быстро и кодить было удобно? может посоветуете какие более оптимальные решения подойдут для этой задачи?
i.slepov
Я быдлокодер, поэтому добавил бы в модель Company поле head_office, где указывал бы id - головной организации. Если в поле null - значит сама организация головная.

Плюсы: дешево, сердито, можно в noSQL данные положить вроде Mongo или даже Redis.
Минусы: сторонники N-ой нормальной формы тухлыми яйцами закидают, возможно будут проблемы при кривом импорте/экспорте данных (если забудем про поле id), при кривом удаление организаций (если забудем про поле head_office) данные в этом поле будут невалидны.
FishHook
Andrew82
стоит ли вообще это делать через ForeignKey
А почему не ManyToMany?
Andrew82
FishHook
А почему не ManyToMany?
чтоб модели лишние не плодить
FishHook
Имеете в виду таблицы в БД? Модель то у вас как раз одна единственная будет. А они кушать просят что ли?
Andrew82
FishHook
ManyToMany
немного не пойму, что Вы предлагаете связать связью ManyToMany?
FishHook
Таблицу саму с собой, что такого?
FishHook
Ну или FK таким же образом, зачем дополнительную модель то придумывать?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB