现在我有这样的代码:是否可以动态定义模型字段的名称?
class Mymodel(models.Model):
xxxx_count = ForeignCountField(filter={'foreign_table__xxxx': True})
yyyy_count = ForeignCountField(filter={'foreign_table__yyyy': True})
zzzz_count = ForeignCountField(filter={'foreign_table__zzzz': True})
qqqq_count = ForeignCountField(filter={'foreign_table__qqqq': True})
ssss_count = ForeignCountField(filter={'foreign_table__ssss': True})
rrrr_count = ForeignCountField(filter={'foreign_table__rrrr': True})
我想是这样的:
class Mymodel(models.Model):
for code in ['xxxx','yyyy','zzzz','qqqq','ssss','rrrr']:
setattr(self, '%s_count' % code, ForeignCountField(filter={'foreign_table__%s' % code: True}))
但是,当我尝试这样做,提出了错误:“自不定义”。我需要将这些代码放到其他地方吗?
什么__init __内定义之间的差异()或外__init__ ()。只有自变量的确定性? – ramusus 2009-04-28 09:33:44
是的,在__init__自我存在,外面没有。 – 2009-04-28 09:35:28
我更新了我的回复。 – 2009-04-28 09:47:01