我知道类似的问题已经被问到,但是我真的很难理解SQLAlchemy中如何实现泛型字段。SQLAlchemy通用关系简单示例
我有一个Permissions类/表,我想包含一个可以与任何模型类型相关的字段。
我已经看过的例子,这个博客帖子http://techspot.zzzeek.org/2007/05/29/polymorphic-associations-with-sqlalchemy/
是否有可能有没有一个单独的表的一般关系?只需存储object_type和id?沿着这些线:
class Permission(AbstractBase):
user = relationship("User", backref=backref('permissions'))
permission_type = column(String())
object = #The object the permission applies to, could be any type.
我想只是一个非常简单的例子,将不胜感激!
另外,值得注意的是我来自Django背景!
感谢
你是什么意思“没有另一张桌子”?你能更好地定义你的SQL模式的样子吗? –
对不起,我应该让自己更清楚。通过没有另一个表,我的意思是有一个单独的表来存储通用关系。 – Charlie
这是一个旧的博客文章,其中包含较旧的模式,但第一个示例“rails如何使用它”也是django方法 - 它放弃使用传统外键以避免需要额外的表。但为什么如此重要,不正确地构建您的模式只是为了保存表? – zzzeek