相关疑难解决方法(0)

计算多对多关系中的行数(SQLAlchemy)

我说博客条目和标签之间有多对多的关系.现在我想知道特定标签有多少条目.

想象一下以下模型(简化):

rel_entries_tags = Table('rel_entries_tags', Base.metadata,
  Column('entry_id', Integer, ForeignKey('entries.id')),
  Column('tag_id', Integer, ForeignKey('tags.id'))
)

class Entry(Base):
  __tablename__ = 'entries'

  id = Column(Integer, primary_key=True)
  title = Column(String(80))
  text = Column(Text)

  tags = relationship('Tag', secondary=rel_entries_tags, backref=backref('entries'))

  def __init__(self, title, text):
    self.title = title
    self.text = text
    self.tags = tags    

class Tag(Base):
  __tablename__ = 'tags'

  id = Column(Integer, primary_key=True)
  name = Column(String(80), unique=True, nullable=False)

  def __init__(self, name):
    self.name = name
Run Code Online (Sandbox Code Playgroud)

我计算标签条目数量的方法是len(db_session.query(Tag).get(1).entries).问题是,当它获得db_session.query(Tag).get(1).entriesSQLAlchemy选择所有条目及其所有列的标签时,我只想要条目的数量,而不是条目本身.这个问题有更优化的方法吗?

谢谢.

python sqlalchemy

11
推荐指数
1
解决办法
3855
查看次数

标签 统计

python ×1

sqlalchemy ×1