繁体   English   中英

Python Flask 上的外键

[英]Foreign Keys on Python Flask

使用 db 模型时出现此错误。 知道可能是什么问题吗?

InvalidRequestError: When initializing mapper Mapper|Stand|stand, expression 'Stand.item_code_name==item_id' failed to locate a name ("name 'item_id' is not defined"). If this is a class name, consider adding this relationship() to the <class 'app.models.Stand'> class after both dependent classes have been defined.


class Stand(db.Model):
    stand_id = db.Column(db.String(10), primary_key = True) 
    stand_name = db.Column(db.String(24), index = True, unique = True)
    item_code_name =db.Column(db.String, db.ForeignKey('item_codes.item_id'))
    item_codes= db.relationship('Item_codes', primaryjoin = "Stand.item_code_name==item_id")  


class Item_codes(db.Model): 
    item_id = db.Column(db.String(10), primary_key = True)
    item_name = db.Column(db.String(100), index = True, unique = True)
    combi = db.Column(db.String(140))

映射器需要知道要加入哪个模型。

class Stand(db.Model):
    stand_id = db.Column(db.String(10), primary_key=True) 
    stand_name = db.Column(db.String(24), index=True, unique=True)
    item_code_name = db.Column(db.String, db.ForeignKey('item_codes.item_id'))
    item_codes = db.relationship('Item_codes', primaryjoin="Stand.item_code_name==Item_codes.item_id")

我还建议调用字段Stand.item_code_id (或类似的东西)。 随着_name我希望它加入反对Item_code.item_name

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM