Найти - Пользователи
Полная версия: помогите разобраться с моделями
Начало » Django » помогите разобраться с моделями
1
dmeshr
я newbie в питоне и джанге..

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

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

подскажите, как лучше это реализовать механизмами джанги… либо использовать какие-то константы в файле описания модели (тут вопрос, можно ли так делать) или же использовать по модели на каждый параметр (таблицы в БД почемуто не хочеться создавать, боюсь что накладно использовать будет), тогда вопрос, каким образом можно их связать.
Александр Кошелев
Почему бы не попробовать такую модель:
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
использовать по модели на каждый параметр (таблицы в БД почемуто не хочеться создавать, боюсь что накладно использовать будет),
модель=>таблицы
Ferroman
Для этого есть choices и Overriding default model methods
Достаточно просто сделать поля приоритета и времени нередактируемыми и вычислять их в методе save модели, перед сохранением.

PS: ээх нехороший Daevaorn уже дал готовый ответ :)
dmeshr
огромное спасибо за код и ссылку Overriding default model methods.. (:
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