我试图在Flask SQLAlchemy中模拟以下场景:
有SubscriptionPacks
的列表可供购买。当一个特定的User
购买SubscriptionPack
时,他们启动该Subscription
的实例。在
模型如下:
一个User
可以有多个Subscriptions
(一次只有一个是活动的),每个Subscription
将引用一个SubscriptionPack
。在
如何在SQLAlchemy中建模?在
目前,User.id
和{Subscriptions
模型中被引用为db.ForeignKey
。我在Users
表中将Subscriptions
引用为db.Relationship
。这似乎是不一致和错误的,并导致我不得不手工编写许多SQL语句来返回正确的结果。在
有什么帮助吗?在
对于那些偶然发现的人,我要找的是bidirectional SQLAlchemy Association Object pattern。在
这允许多对多的中间表拥有自己存储的详细信息。在我上面的实例中,
Subscription
表需要是一个关联对象(有它自己的类)。在相关问题 更多 >
编程相关推荐