gpt4 book ai didi

python - 如何根据输入创建不同的对象?

转载 作者:行者123 更新时间:2023-12-04 00:00:11 25 4
gpt4 key购买 nike

到目前为止我所拥有的:

import app.models as models

if table_name == "Appliances":
model = models.Appliances
elif table_name == "ArtsCraftsAndSewing":
model = models.ArtsCraftsAndSewing
...

for index, row in df.iterrows():
model = model(param1=row[column1], param2=row[column2], ...)
model.save()

TypeError: 'Appliances' object is not callable

基本上我正在尝试调用 model = models.Appliances(param1=row[column1], param2=row[column2], ...),但具体对象会根据输入而变化。

编辑:AppliancesArtsCraftsAndSewing 具有相同的参数。

最佳答案

通过写作:

model = model(…)

在第二次迭代中,model 不再指代模型,而是指代该模型的对象。您应该更改对象的名称,例如:

for index, row in df.iterrows():
<b>model_object</b> = model(param1=row[column1], param2=row[column2], …)
# …

您可能希望使用字典进行映射:

models = [models.Appliances, models.ArtsCraftsAndSewing]
model_dict = {
<b>m.__name__: m for m in models</b>
}
model = model_dict<b>[table_name]</b>

关于python - 如何根据输入创建不同的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62982709/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com