from 値に基づいて、実行時に以下のモデルを生成する必要があります。
以下は私が達成しようとしているものの例ですが、問題は明らかです.ie [field.value] ...
def import_data(form, *args, **kw):
class ContactCSVModel(CsvModel):
for field in form:
[field.value] = CharField()
class Meta:
delimiter = ","
dbModel = Contact
update = {'keys': ["mobile", "group"]}
return ContactCSVModel.import_data(*args, **kw)
したがって、上記のコードは、生成後に次のようになります (静的コードを入力した場合)。
def import_data(form, *args, **kw):
class ContactCSVModel(CsvModel):
first_name = CharField()
mobile = CharField()
last_name = CharField()
class Meta:
delimiter = ","
dbModel = Contact
update = {'keys': ["mobile", "group"]}
return ContactCSVModel.import_data(*args, **kw)
必要な方法で仕事を始める[field.value]
にはどうすればよいですか? 私は setattr() のようなものを見てきましたが、それが私が求めているものだとは思いません。
Forms.py 参照用...
COL_CHOICES = [
('NONE', 'No Import'),
('first_name', 'First Name'),
('last_name', 'Last Name'),
('company', 'Company'),
('mobile', 'Mobile Number'),
('email', 'Email Address'),
]
class ConfiguratorForm(forms.Form):
col1 = forms.TypedChoiceField(choices=COL_CHOICES, initial='first_name')
col2 = forms.TypedChoiceField(choices=COL_CHOICES, initial='first_name')
col3 = forms.TypedChoiceField(choices=COL_CHOICES, initial='first_name')
col4 = forms.TypedChoiceField(choices=COL_CHOICES, initial='first_name')
col5 = forms.TypedChoiceField(choices=COL_CHOICES, initial='first_name')