插入记录时是否可以动态设置列

2024-05-15 16:07:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我的问题是:我正在迭代原始数据以更新DB表。原始数据中的每个项目都链接到DB表中的一列(19个不同的visa类别中)。是否可以动态设置要插入数据库的列

原始数据示例:

{"continent": "Western Europe", "country": "austria", "visa_category": "Entry under European treaties", "traveller_passport": "Latvia"}

DB模型(不包括全部,因为每个模型都有getter和setter):

class PassportModel(db.Model):
    __tablename__ = "passports"

    # Country ID specifies which country the passport holder is from.
    id = db.Column(db.Integer, primary_key=True)
    country_id = db.Column(db.Integer, db.ForeignKey("country.id"))
    _european_treaty = db.Column(db.String)
    _remain_indefinitely = db.Column(db.String)
    _days_col_one    = db.Column('7_days', db.String)
    ...

我尝试的DB insert查询:

insert_to_db = PassportModel(country_id=db_country_id, getattr(PassportModel, 'european_treaty')='Value to insert')

非常感谢您的帮助,谢谢


Tags: 模型iddb原始数据stringvisacolumninteger