Flask SQLAlchemy 中的订阅建模
Posted
技术标签:
【中文标题】Flask SQLAlchemy 中的订阅建模【英文标题】:Subscription modelling in Flask SQLAlchemy 【发布时间】:2016-02-08 10:47:34 【问题描述】:我正在尝试在 Flask SQLAlchemy 中为以下场景建模:
有一个SubscriptionPacks
列表可供购买。当特定的User
购买SubscriptionPack
时,他们会启动该Subscription
的实例。
型号如下:
一个User
可以有多个Subscriptions
(一次只有一个处于活动状态),每个Subscription
将引用一个SubscriptionPack
。
这将如何在 SQLAlchemy 中建模?
目前我在Subscriptions
模型中将User.id
和SubscriptionPack.id
引用为db.ForeignKey
。我在Users
表中将Subscriptions
引用为db.Relationship
。这似乎不一致和错误,导致我不得不手动编写大量 SQL 语句才能返回正确的结果。
关于如何正确执行此操作的任何帮助?
【问题讨论】:
【参考方案1】:对于那些偶然发现这一点的人,我正在寻找的是bidirectional SQLAlchemy Association Object pattern。
这允许多对多的中间表拥有自己存储的详细信息。在我上面的例子中,Subscription
表需要是一个关联对象(有它自己的类)。
【讨论】:
以上是关于Flask SQLAlchemy 中的订阅建模的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Flask-SQLAlchemy 中执行多个“order_by”?
如果我的mysql套接字不在/ tmp中,是否可以将Mysql与SqlAlchemy和Flask一起使用?