如何检查参数是否在选择中?

时间:2015-09-01 04:08:09

标签: python django model

模型A中有一个内部类选项。该片段如下:

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是否为有效选项?

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

假设您可以使用get_choices方法返回单个列表,

if a in get_choices(<param>)

始终是一种选择。或者就像你现在拥有它一样,你也许可以逃脱......

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

因此检查a是否等于存储在每个列表中返回的变量中的数值。