Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Как правильно представить множество дат в модели Django? [RSS Feed]

#1 Март 12, 2013 12:47:41

MikaMika
Зарегистрирован: 2012-11-07
Сообщения: 51
Репутация: +  0  -
Профиль   Отправить e-mail  

Как правильно представить множество дат в модели Django?

Привет.
Есть некий объект, у которого может быть множество дат и множество значений типа:
число.месяц
Как это лучше представить в модели Django?
Пока есть такой, самый простой вариант:

class MySuperObject(models.Model):
    myobject = models.CharField()
    dates = models.ManyToManyField(MyDate)
    days_and_month = models.ManyToManyField(Dm)
    
    
class MyDate(models.Model):
    date = models.IntegerField()
    
    
class Dm(models.Model):
    day = models.IntegerField()
    month = models.IntegerField()         

Какие есть еще варианты?
Поиск стандартным ORM - необходим!

Офлайн

#2 Март 12, 2013 14:09:09

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Как правильно представить множество дат в модели Django?

MikaMika
Пока есть такой, самый простой вариант
И чем не устраивает?



Офлайн

#3 Март 14, 2013 12:24:15

MikaMika
Зарегистрирован: 2012-11-07
Сообщения: 51
Репутация: +  0  -
Профиль   Отправить e-mail  

Как правильно представить множество дат в модели Django?

Да он пока и работает.

class DMY(models.Model):
    day = models.IntegerField(blank=True)
    month = models.IntegerField(blank=True)
    year = models.IntegerField(blank=True)

Отредактировано MikaMika (Март 14, 2013 12:25:31)

Офлайн

#4 Март 20, 2013 16:31:51

zheromo
От:
Зарегистрирован: 2010-10-02
Сообщения: 356
Репутация: +  2  -
Профиль   Отправить e-mail  

Как правильно представить множество дат в модели Django?

Можно day и month представлять в виде даты
Проще будет делать выборки - если они нужны
Или представить все в виде to_ordinal



Офлайн

#5 Март 20, 2013 16:46:35

inoks
От: Russia
Зарегистрирован: 2012-12-11
Сообщения: 343
Репутация: +  35  -
Профиль   Адрес электронной почты  

Как правильно представить множество дат в модели Django?

zheromo
Проще будет делать выборки - если они нужны
Часто бывает нужно делать анализ по месяцам, например - средние продажи и т.п..
я бы вообще добавил поле дата, сделал его уникальным, а при записи объекта раскладывал бы его втихаря еще и на день, месяц, год

Офлайн

#6 Март 20, 2013 17:34:41

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Как правильно представить множество дат в модели Django?

ЕМНИП, Джанга предоставляет кучищу CVB-вьюх, там и по годоам, и по месяцам, и по неделям.
https://docs.djangoproject.com/en/dev/ref/class-based-views/generic-date-based/



Офлайн

#7 Март 21, 2013 09:16:40

inoks
От: Russia
Зарегистрирован: 2012-12-11
Сообщения: 343
Репутация: +  35  -
Профиль   Адрес электронной почты  

Как правильно представить множество дат в модели Django?

да, конечно, но выборку - суммарные продажи за январь за несколько лет оттуда не сделаешь.

Офлайн

  • Начало
  • » Django
  • » Как правильно представить множество дат в модели Django?[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version