2016-08-04 4 views
2

У меня есть словарь (из WTForm), который имеет в нем ключи, соответствующие полям в моей модели SQLAlchemy.Привязать словарь к модели SQLAlchemy для обновления

class Company(database.Model): 
    __tablename__ = "company" 
    id = database.Column(database.Integer, primary_key=True, autoincrement=True) 
    name = database.Column(database.String(255), nullable=False) 
    address = database.Column(database.String(255), nullable=False) 
    ... 

А словарь:

{"name": "Apple Inc", "address": "1 Infinite Loop", ...} 

Есть ли простой способ установить атрибуты модели с помощью словаря значений, или мне нужно следовать х = у шаблона?

company.name = company_dict["name"] 
company.address = company_dict["address"]... 

ответ

2

Предполагая, что вы на самом деле хотите, чтобы создать запись должна быть столь же просто, как:

company = Company.create(**company_dict) 

Или для обновления:

company.update(**company_dict) 
+0

Спасибо за помощь, но, к сожалению это для update (я редактировал заголовок). – Kong

+0

@Kong обновленный ответ для обновления тоже. – Jack