Python 联接过程中不明确的列名
我有以下代码:Python 联接过程中不明确的列名,python,sql,sqlalchemy,Python,Sql,Sqlalchemy,我有以下代码: class Parent(db.Model): __tablename__ = "parents" id = db.Column(db.String(255), primary_key=True) name = db.Column(db.String(100), nullable=False, server_default="") children = db.relationship("Child
class Parent(db.Model):
__tablename__ = "parents"
id = db.Column(db.String(255), primary_key=True)
name = db.Column(db.String(100), nullable=False, server_default="")
children = db.relationship("Child", back_populates="parent")
class Child(db.Model):
__tablename__ = "children"
id = db.Column(db.String(255), primary_key=True)
name = db.Column(db.String(100), nullable=False, server_default="")
parent_id = db.Column(db.Integer, db.ForeignKey("parents.id"))
parent = db.relationship("Parent", back_populates="children")
query = (
Parent.query.options(joinedload(Parent.children))
.order_by(asc(text("name")))
)
print(query.all())
它会产生一个错误:
sqlite3.OperationalError: ambiguous column name: name
我知道会发生这种情况,因为两个表都有一个name
列,可以通过添加替换为order\u by(asc(text(“parents.name”))
或order\u by(asc(Parent.name))
来解决。
但通过在查询中添加标签/别名是可行的吗?我不想更改此部分asc(文本(“名称”)