请考虑以下用例。
有Post
模型,也有Tag
模型。他们俩之间都有many-to-many
关系。Apost
可以有多个tags
,而 atag
可以有多个posts
。
为了实现这个用例,我实现了一个名为的映射表,PostTag
如下所示
from database.base import Base
from sqlalchemy import Column, ForeignKey, Integer
from sqlalchemy.orm import relationship
from .model_post import ModelPost
from .model_tag import ModelTag
class PostTag(Base):
__tablename__ = 'posttag'
post_id = Column("post_id",Integer, ForeignKey('post.id'), primary_key = True)
tag_id = Column("tag_id",Integer, ForeignKey('tag.id'), primary_key = True)
使用此设置,我可以成功查询tags
给定的所有post
,反之亦然,但我不知道为给定的post
and添加新的关联tag
。
请参阅下面的屏幕截图,了解我如何查询彼此的相关tags
和关闭。posts
如果我在这里遗漏了什么,请告诉我。
谢谢