与炼金术的动态关系

2024-09-30 16:41:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个表,一个一对多的关系,定义如下。在

from sqlalchemy import Column, Integer, ForeignKey
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import relationship

Base = declarative_base()


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


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

如果我试图接近子级.父级我得到一个错误。 但是如果我初始化child的一个实例,错误就会消失。在

我想初始化一个修改过的子类的子实例,但我不知道如何初始化。 我怎样才能获得子级.父级不创建Child的实例?在

^{pr2}$

Tags: 实例fromimportidchildbasesqlalchemycolumn
1条回答
网友
1楼 · 发布于 2024-09-30 16:41:32

我没有使用backref,而是定义了双方的关系,它解决了问题。在

from sqlalchemy import Column, Integer, ForeignKey
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import relationship

Base = declarative_base()


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")

相关问题 更多 >