I'm new in flask and Sqlalchemy
I have 2 tables, company
and activity
, with many to many relation, like this:
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'))
I have a WTForms-form for company
registration, that include company
, name
, address
, etc... and Activities
.
My question is how to add company activities
and company
ID in associated table.
if request.method == 'POST':
new_company = Company1(
name = form.name.data,
governorate = form.governorate.data,
area = form.area.data,
activities = form.activity.data
)
I received this error
AttributeError: 'str' object has no attribute '_sa_instance_state'