def modify_row(self, decoder):
modulo = importlib.import_module(self.db+".models")
clase_mane = decoder["tb"]
for s in dir(modulo):
if s.lower() == decoder["tb"]:
clase_mane = s
class_model = getattr(modulo, clase_mane)
if "condition" in decoder:
db_name = settings.DATABASES["default"]["NAME"]
row_id = Model(db_name=db_name, table_name=self.db+"_"+decoder['tb'])
row_id.load_first_by_query(**decoder["condition"])
decoder["fields"]["id"] = row_id.id
if 'id' in decoder["fields"]:
try:
row = class_model.objects.get(pk=decoder['fields']['id'])
except:
row = class_model()
else:
row = class_model()
for k, v in decoder["fields"].items():
setattr(row, k, v)
return row
评论列表
文章目录