2015-10-02 17 views
0

我想将常量值保存到数据库中。每当我需要价值时,我都应该从数据库中获得价值。所以,我制作这样的模型。如何用数据库管理APP常量值

class APP_Constant(models.Model): 
    class Meta: 
     db_name = 'MW_Constant' 
    name = models.CharField(max_length=100, unique=True) 
    type = models.CharField(max_length=1, choices=(('I','Integer'),('S','String'))) 
    i_value = models.IntegerField(null=True, blank=True) 
    s_value = models.CharField(max_length=256, null=True, blank=True) 

def get_value(self,name): 
    v = self.objects.filter(self.name=name) 
    if v.type == 'I': 
     return v.i_value 
    else: 
     return v.s_value 

def __str__(self): 
    return self.name 

我还没有建立。我想知道这有可能吗? 请给任何建议。

回答

1
@property 
def value(self): 
    return self.i_value if self.type == 'I' else self.s_value 

现在,只需要使用app_constant_obj.value

+0

我“AttributeError错误:‘查询集’对象有没有属性‘值’” – eachone

+0

因为你试图使用.value的从列表中,只有对象有财产价值。 –

+0

filter()返回一个查询集,而不是一个对象。 –