Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 23, 2008 16:15:45

dmeshr
От:
Зарегистрирован: 2008-06-23
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите разобраться с моделями

я newbie в питоне и джанге..

пытаюсь разобраться вот с чем:

у меня есть четыре параметра в модели данных - это степень воздействия, срочность, приоритет и время. в каждом по три-четыре значения (high, medium, low например). приоритет вычисляется на основе срочности и степени, а время на основе приоритета.

подскажите, как лучше это реализовать механизмами джанги… либо использовать какие-то константы в файле описания модели (тут вопрос, можно ли так делать) или же использовать по модели на каждый параметр (таблицы в БД почемуто не хочеться создавать, боюсь что накладно использовать будет), тогда вопрос, каким образом можно их связать.



Офлайн

#2 Июнь 23, 2008 16:31:29

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

помогите разобраться с моделями

Почему бы не попробовать такую модель:

CHOICES = [ 
   ( "high",   "high" ),
   ( "medium", "medium" ),
   ( "low",    "low" ),
]
class Entity( models.Model ):
    impact   = models.CharField( max_length = 10, choices = CHOICES )
    urgency  = models.CharField( max_length = 10, choices = CHOICES )
    priority = models.CharField( max_length = 10, choices = CHOICES )
    time     = models.DateTimeField()
    def calc_prooprity( self ):
        pass
    def calc_time( self ):
        pass
    def save( self ):
        self.calc_priority()
        self.calc_time()
        super( Entity, self ).save()

dmeshr
использовать по модели на каждый параметр (таблицы в БД почемуто не хочеться создавать, боюсь что накладно использовать будет),
модель=>таблицы



Офлайн

#3 Июнь 23, 2008 16:34:01

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

помогите разобраться с моделями

Для этого есть choices и Overriding default model methods
Достаточно просто сделать поля приоритета и времени нередактируемыми и вычислять их в методе save модели, перед сохранением.

PS: ээх нехороший Daevaorn уже дал готовый ответ :)

Отредактировано (Июнь 23, 2008 16:34:54)

Офлайн

#4 Июнь 24, 2008 07:15:27

dmeshr
От:
Зарегистрирован: 2008-06-23
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите разобраться с моделями

огромное спасибо за код и ссылку Overriding default model methods.. (:



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version