Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 烧瓶+;SQLAlchemy邻接列表backref错误_Python_Orm_Flask_Sqlalchemy_Flask Sqlalchemy - Fatal编程技术网

Python 烧瓶+;SQLAlchemy邻接列表backref错误

Python 烧瓶+;SQLAlchemy邻接列表backref错误,python,orm,flask,sqlalchemy,flask-sqlalchemy,Python,Orm,Flask,Sqlalchemy,Flask Sqlalchemy,我有以下型号: class Category(db.Model): __tablename__ = 'categories' id = db.Column(db.Integer, primary_key=True) parent_id = db.Column(db.Integer, db.ForeignKey(id), nullable=True) level = db.Column(db.SmallInteger) name = db.Column(d

我有以下型号:

class Category(db.Model):
    __tablename__ = 'categories'

    id = db.Column(db.Integer, primary_key=True)
    parent_id = db.Column(db.Integer, db.ForeignKey(id), nullable=True)
    level = db.Column(db.SmallInteger)
    name = db.Column(db.String(200))
    children = db.relationship('Category', backref=backref('parent', remote_side=id))

    def __repr__(self):
        return '<Category %r>' % (self.name)
我做错了什么?

在这条线上

children = db.relationship('Category', backref=backref('parent', remote_side=id))
您正在使用属性
backref
,但从未定义它。如果你写了

children = db.relationship('Category', backref=photosynthesis('parent', remote_side=id))
同样的问题:Python不知道什么是“光合作用”

那么,backref在代码中应该是什么呢?事实证明这是一个错误。与许多这些函数(例如,您正在使用的“关系”函数)一样,Flask SQLAlchemy将为您提供一个别名,因此您不需要直接导入它们


您可以使用作为指南。您需要的不是
backref=backref
,而是
backref=db.backref

您必须明确backref是什么。您可以使用此导入执行此操作:

from sqlalchemy.orm import backref

哦,对了……我没想到。这是我的第一个python项目。我会试着把这个写回去。
from sqlalchemy.orm import backref