SQLAlchemy多态多基因关系

2024-09-28 01:33:34 发布

您现在位置:Python中文网/ 问答频道 /正文

SQLAlchemy是否提供了一种方便的模式,可以使用单个表将多个类与另一个类关联起来?例如,通过使用与“标记”类的多态多对多关系使类“Post”和“Video”taggable

我熟悉LaravelPHP框架中many-to-many polymorphic relationships的实现。该实现使用联接表中的type字段来区分类“Post”和“Video”

例如:

posts
    id - integer
    name - string

videos
    id - integer
    name - string

tags
    id - integer
    name - string

taggables
    tag_id - integer
    taggable_id - integer
    taggable_type - string

我找不到任何类似的SQLAlchemy。据我所知,Polymorphism in SQLalchemy仅限于类继承的模式。类似地,association object pattern似乎只允许两个类之间的关系

像我上面的例子一样的多态模式是被推荐的吗?或者对于每个类来说,用“标记”定义多对多关系通常更好吗


Tags: name标记idstringsqlalchemy关系videotype

热门问题