小编Col*_*les的帖子

Flask-SQLAlchemy 多对多关系:如何插入数据

我在 Flask-Sqlalchemy 模型中创建了多对多关系。但是,我似乎不太了解如何填充我的数据库。你能告诉我我应该如何编写代码来正确填充我的数据库吗?

这是我的模型:

company_contact = db.Table('company_contact', db.Model.metadata,
    db.Column('company_id', Integer, ForeignKey('company.id')),
    db.Column('contact_id', Integer, ForeignKey('contact.id'))
)

class Company(db.Model):
    __tablename__ = 'company'

    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    contacts = db.relationship('Contact', secondary=company_contact, back_populates="companies")
    company_name = db.Column(db.String(100))

    def __repr__(self):
        return '<Company {}{}>'.format(self.contacts, self.company_name)


class Contact(db.Model):
    __tablename__ = 'contact'

    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    last_name = db.Column(db.String(255))
    first_name = db.Column(db.String(255))
    job_position = db.Column(db.String(255))
    companies = db.relationship('Company', secondary=company_contact, back_populates="contacts")
    contact_status = db.Column(db.Enum('Client', 'Prospect', 'Churner', 'Prestataire', 'Reperage',
                                       name='contact_status'))
    start_date = db.Column(db.DateTime, server_default=db.func.now())
    stop_date = db.Column(db.DateTime, default=None)

    def …
Run Code Online (Sandbox Code Playgroud)

python many-to-many sqlalchemy flask flask-sqlalchemy

2
推荐指数
1
解决办法
1794
查看次数