Найти - Пользователи
Полная версия: Как правильно представить множество дат в модели Django?
Начало » Django » Как правильно представить множество дат в модели Django?
1
MikaMika
Привет.
Есть некий объект, у которого может быть множество дат и множество значений типа:
число.месяц
Как это лучше представить в модели 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 - необходим!
FishHook
MikaMika
Пока есть такой, самый простой вариант
И чем не устраивает?
MikaMika
Да он пока и работает.
class DMY(models.Model):
    day = models.IntegerField(blank=True)
    month = models.IntegerField(blank=True)
    year = models.IntegerField(blank=True)
zheromo
Можно day и month представлять в виде даты
Проще будет делать выборки - если они нужны
Или представить все в виде to_ordinal
inoks
zheromo
Проще будет делать выборки - если они нужны
Часто бывает нужно делать анализ по месяцам, например - средние продажи и т.п..
я бы вообще добавил поле дата, сделал его уникальным, а при записи объекта раскладывал бы его втихаря еще и на день, месяц, год
FishHook
ЕМНИП, Джанга предоставляет кучищу CVB-вьюх, там и по годоам, и по месяцам, и по неделям.
https://docs.djangoproject.com/en/dev/ref/class-based-views/generic-date-based/
inoks
да, конечно, но выборку - суммарные продажи за январь за несколько лет оттуда не сделаешь.
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