相关疑难解决方法(0)

我什么时候需要使用sqlalchemy back_populates?

当我按照本指南尝试SQLAlchemy Relation Example时:基本关系模式

我有这个代码

#!/usr/bin/env python
# encoding: utf-8
from sqlalchemy import create_engine
from sqlalchemy import Table, Column, Integer, ForeignKey
from sqlalchemy.orm import relationship, sessionmaker
from sqlalchemy.ext.declarative import declarative_base

engine = create_engine('sqlite:///:memory:', echo=True)
Session = sessionmaker(bind=engine)
session = Session()
Base = declarative_base(bind=engine)

class Parent(Base):
    __tablename__ = 'parent'
    id = Column(Integer, primary_key=True)
    children = relationship("Child")

class Child(Base):
    __tablename__ = 'child'
    id = Column(Integer, primary_key=True)
    parent_id = Column(Integer, ForeignKey('parent.id'))
    parent = relationship("Parent")

Base.metadata.create_all()

p = Parent()
session.add(p)
session.commit()
c = Child(parent_id=p.id) …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy

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

SQLAlchemy 关系在创建 backref 时引发参数错误

我正在尝试建立一对多的关系,以便每个咖啡馆都可以有很多评论。但是,SQLAlchemyArgumentError在定义关系时会引发。我该如何解决这个错误?

class Review(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    cafe = db.Column(db.String, db.ForeignKey('cafe.name'))

class Cafe(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String)
    reviews = db.relationship(Review, backref='cafe')
Run Code Online (Sandbox Code Playgroud)
sqlalchemy.exc.ArgumentError: Error creating backref 'cafe' on relationship 'Cafe.cafes': property of that name exists on mapper 'Mapper|Review|review'
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy

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

标签 统计

python ×2

sqlalchemy ×2