删除级联上的SQLAlchemy父/子关系

时间:2020-08-12 16:47:29

标签: sqlalchemy flask-sqlalchemy

让我的SQLAlchemy类正常工作有点麻烦。我已经做了很多研究,并且知道这个Stack [answer] [1]。但是,这在这里不起作用。我的代码如下:

class EventListModel(db.Model, BaseModel, PaginationMixin):
    """
    Event List Model
    """

    #table name
    __tablename__ = 'event_list'
    
    id          = db.Column(db.Integer, primary_key=True)
    name        = db.Column(db.String(128), nullable=False)

    list_item_br = relationship('ListItemModel', cascade='all,delete',
                backref=backref('EventListModel'))

我的孩子班级如下:

class ListItemModel(db.Model, BaseModel, PaginationMixin):
    """
    List Item Model
    """

    #table name
    __tablename__ = 'list_item'

    id              = db.Column(db.Integer,     primary_key=True)
    name            = db.Column(db.String(128), nullable=False)
    url             = db.Column(db.String(256))
    description     = db.Column(db.String(512))

每次我尝试将一个项目添加到Child类时,都会收到以下IntegrityError:

sqlalchemy.exc.IntegrityError: (psycopg2.errors.NotNullViolation) null value in column
        "event_list_id" violates not-null constraint
        DETAIL: Failing row contains (9, Vollyball, https://orrettmorgan.com, Walmart has the cheapest ones I have seen.
        If you don't mind spe..., 3f3ef8cd-8c43-4c48-a3fa-2bd9f1432c88, null).

我是否需要在某个地方进行declarative_base实例化,或者分配逻辑中是否存在错误?

先谢谢了。 [1]:SQLAlchemy - what is declarative_base

0 个答案:

没有答案