是否可以在__init__
函数之外将类属性设置为类属性(而不是实例属性)。你知道吗
我想这样做:
class Trades():
def __init__(self):
for i in range(24):
setattr(self, f'Hour_{i}', 0)
但对于django模型,例如:
class Trades(models.Model):
date = models.DateField()
Hour_0 = models.FloatField()
Hour_1 = models.FloatField()
for i in range(24):
setattr(models.Model, f'Hour_{i}', models.FloatField())
但这行不通。你知道吗
有没有其他方法可以迭代它,或者必须手动为每个Hour_X
分配一个FloatField
?你知道吗
Python数据模型还不够神奇,不足以允许您在这里尝试什么。您必须手动分配这些字段,因为它们在类定义时由Model metaclass处理,并且依赖于在类上以声明方式定义的模型字段。你知道吗
第一种方法失败,因为无法在实例上设置它们。第二种方法失败,因为您试图在父级
models.Model
而不是类Trades
上设置属性。但是,实际上不能使用名称Trades
,因为类仍在定义中,因此名称尚未绑定。你知道吗相关问题 更多 >
编程相关推荐