【发布时间】:2021-05-10 06:26:42
【问题描述】:
我是烧瓶和 Sqlalchemy 的新手
我有 2 个表,company 和 activity,具有多对多关系,如下所示:
activities_companies = db.Table(
'activites_companies',
db.Column('company1_id', db.Integer, db.ForeignKey('company1.id')),
db.Column('activity_id', db.Integer, db.ForeignKey('activity.id')),
)
class Company1(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(255), nullable=False)
governorate = db.Column(db.String(255), nullable=False)
area = db.Column(db.String(255), nullable=False)
activities = db.relationship(
'Activity',
secondary = activities_companies,
backref = db.backref('companies'),
lazy = 'dynamic'
)
class Activity(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(255), nullable=False)
chamber_id = db.Column(db.Integer, db.ForeignKey('chamber.id'))
我有一个用于company 注册的 WTForms 表单,其中包括company、name、address 等...以及Activities。
我的问题是如何在关联表中添加公司activities 和company ID。
if request.method == 'POST':
new_company = Company1(
name = form.name.data,
governorate = form.governorate.data,
area = form.area.data,
activities = form.activity.data
)
我收到了这个错误
AttributeError: 'str' 对象没有属性 '_sa_instance_state'
【问题讨论】:
-
这能回答你的问题吗? Flask sqlalchemy many-to-many insert data
标签: python flask sqlalchemy