Форум сайта python.su
lorien. можно повесить clean на поле и проверять адрес ?
Вариант с дополнительной таблицей хорош если нужно делать какие-то манипуляции с адресами, например найти все фирмы вблизи меня ?
Отредактировано andreiru (Сен. 17, 2013 08:53:43)
Офлайн
andreiruитоговый вариант должен прежде всего вас устраивать :)
Dr.Livsi, вот мой вариант:в принципе устраивает или все-таки лучше ваш ?
Офлайн
andreiruконечно. здесь возможны различные варианты фильтрации, сортировки (в помощь - django_filter).
Вариант с дополнительной таблицей хорош если нужно делать какие-то манипуляции с адресами, например найти все фирмы вблизи меня ?
Офлайн
class Office(models.Model): company = models.ForeignKey(Company, related_name=u'offices', verbose_name=u'Компания') city = models.ForeignKey(City, verbose_name=u'Город') street = models.CharField(u'Улица', max_length=80) building = models.CharField(u'Номер здания', max_length=5) room = models.CharField(u'Номер помещения', max_length=5) description = models.TextField(u'Описание') work_time = models.CharField(u'Рабочее время', max_length=80) phone = models.CharField(u'Телефон', max_length=80, blank=True) email = models.EmailField(u'Email', blank=True) updated = models.DateTimeField(u'Дата изменения', auto_now=True) created = models.DateTimeField(u'Дата создания', auto_now_add=True)
Отредактировано andreiru (Сен. 17, 2013 13:02:11)
Офлайн
Наиболее гибкое решение: сделать таблицу с днями, объединить их через m2m, а в промежуточной таблице поставить время работы (начало, конец рабочего дня, перерыв там) в каждый из дней. Но, скорее всего, это уже излишний функционал: на сколько многим фирмам такое потребуется? Опять же надо будет вводить эти данные - лишнее время операторов, либо лишнее время на разработку формы, где это будет заполнятся автоматически.
Офлайн
Dr.Livsi
{% for office in company.offices.all %}
{{ offices }}
{% endfor %}
Если мне нужно select_related для offices, то это нужно в отображении чере context делать ?
def get_context_data(self, **kwargs): context = super(CompanyDetail, self).get_context_data(**kwargs) context['office_list'] = context['company'].offices.select_related('city')
Офлайн
да
Офлайн
> С work_time нормально или нужно делать таблицу work_days и цеплять рабочие дни через manytomany ?)
Если рабочее время нужно *только* отображать, то норм, если нужно делать выборки по этому параметру, то нужно более сложное решение делать
Офлайн