2015-09-01 2 views
0

Существует внутренний класс Вариант в модели A.The сниппет, как показано ниже:Как проверить, находится ли параметр в выборе?

class A(models.Model): 
    class Option(object): 
     UNKNOWN = 0 
     CASH = 1 
     STORE_CREDITS = 2 

     @classmethod 
     def get_choices(cls): 
      return ((cls.UNKNOWN, "UNKNOWN"), 
        (cls.CASH, "CASH"), 
        (cls.STORE_CREDITS, "STORE_CREDITS")) 

допустим есть целая переменная a, Есть ли элегантный способ проверить a является допустимым вариантом, используя метод get_choices?

Любая помощь будет оценена по достоинству.

ответ

0

Предполагая, что вы могли бы получить метод get_choices вернуть единый список,

if a in get_choices(<param>)

всегда вариант. Или, как у вас есть сейчас, вы можете быть в состоянии уйти с ...

for item in get_choices(<param>): 
    if a == item[0]: 
     ... 

Поэтому проверка, если a равно значению числа, хранящегося в переменных, возвращаемых в каждом списке.

Смежные вопросы