【发布时间】:2014-09-24 17:22:14
【问题描述】:
我正在尝试构建一个类方法,它返回与项目关联的成员数。我试过了:
# method of class Project
@classmethod
def member_count(cls, project_id):
return Session.query(ProjectMember).\
filter(ProjectMember.project_id==project_id).count()
多对多关系定义为:
class Member(Base):
__tablename__ = 'member'
id = Column(Integer, primary_key=True)
login = Column(String(50), unique=True, nullable=False)
project_list = relationship("ProjectMember", backref="member")
class Project(Base):
__tablename__ = 'project'
id = Column(Integer, primary_key=True)
name = Column(String(100), unique=True, nullable=False)
class ProjectMember(Base):
__tablename__ = 'project_member'
project_id = Column(Integer, ForeignKey("project.id"), nullable=False, primary_key=True)
member_id = Column(Integer, ForeignKey("member.id"), nullable=False, primary_key=True)
project = relationship("Project", backref = "project_member")
is_pm = Column(Boolean, default = True, nullable = False)
UniqueConstraint('project_id', 'member_id')
谢谢!
【问题讨论】:
-
当您尝试执行该方法时会发生什么?你有错误吗?
标签: python sqlalchemy pyramid