Flask-sqlalchemy 自身引用的写法?

2014-03-22 16:18:56 +08:00
 bbhj3434
最近在学 flask 和 sqlalchemy,死咬英文文档好累……
这个问题找了比较久了,不知道有没有人清楚的。

一个表的自身引用,字段:
id name toplevel onlevel_id
(主键) (名称) (大分类,bool) (上级分类)

目前想实现的是:

添加记录:

toplevel 为 True ,onlevel_id 为 0

toplevel 为 False ,onlevel_id 为某一个 toplevel 为 True 的 id

查询记录:

查询 toplevel 为 True 的记录 select.sub_category 为其下级分类列表

我的水平还是太低了。。
4071 次点击
所在节点    Python
4 条回复
yinian1992
2014-03-22 16:26:44 +08:00
ryanhust
2014-03-22 17:18:58 +08:00
1L正解
bbhj3434
2014-03-22 21:15:29 +08:00
@yinian1992 >_< 感谢你的帮助呢~还有一个问题,ForeignKey 有 类似 required 这个必定要输入值的参数吗?找一下没有说到这个,只有 nullable
bbhj3434
2014-03-22 21:27:59 +08:00
@bbhj3434 打错字,应该是检查外键成立

class Category(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(255), nullable=False, unique=True)
top = db.Column(db.Boolean, nullable=False)
on_id = db.Column(db.Integer, db.ForeignKey('category.id'))
top_category = db.relationship('Category', backref='sub_category', remote_side=[id])

我现在的表如上,可是有个问题:on_id 这个字段随意一个不存在的id或空值都可以写入。。。
ForeignKey 这个有 required 这种参数吗?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/105405

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX