我想动态构建类属性。
# Code
label = Label();
label.port = 'JTAG'; ##works
# Attribute name in a variable
field_name = 'port';
label.field_name = 'port'; ## do not work.
# Foreign key mapping.
label.foreign_key.port_name = 'port'; ## should work for foreign_key
我不想在这里使用setattr
,因为我将外键对象映射到此对象。外键setattr
失败的地方。
最后,我想在动态构建类对象属性时插入'field_name'变量。请在不使用setattr
的情况下告诉我这个方法。
答案 0 :(得分:0)
以下方法可以解决问题:
label.__dict__[field_name] = 'port'
自定义类实例的所有属性都在内部存储为字典obj.__dict__