Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
sqlalchemy与过滤器的关系_Sqlalchemy_Relationships - Fatal编程技术网

sqlalchemy与过滤器的关系

sqlalchemy与过滤器的关系,sqlalchemy,relationships,Sqlalchemy,Relationships,我试图仅获取已批准的响应(暂存>1),但由于某些原因,primaryjoin中的Reply.staged>1不起作用 我对sqlAlchemy非常陌生,所以我不确定家长与远程_端的关系是什么 class Story(Base): __tablename__ = ’Story' id = Column(‘ID', Integer, primary_key=True) anonymous = Column(TINYINT) detail = Column('detail',St

我试图仅获取已批准的响应(暂存>1),但由于某些原因,primaryjoin中的Reply.staged>1不起作用

我对sqlAlchemy非常陌生,所以我不确定家长与远程_端的关系是什么

class Story(Base):

  __tablename__ = ’Story'

  id = Column(‘ID', Integer, primary_key=True)

  anonymous = Column(TINYINT)
  detail = Column('detail',String, js_name='detail')
  summary = Column('summary',String, js_name='questionSummary')
  user_id = Column('uid', Integer, ForeignKey('rlUser.uid'), js_name='userId')
  user = relationship("User")
  inspire_id = Column('inspireID', Integer, js_name='inspireId')
  staged = Column(TINYINT)

class Reply(Base):
  __tablename__ = 'Reply'
  id = Column('replyID', Integer, primary_key=True)
  parent_id = Column('parentID', Integer, ForeignKey('rlReply.replyID'),js_name='parentId')
  user_id = Column('userID', Integer, js_name='userId')
  detail = Column(String, js_name='detail')
  reply_date = Column('replyDate', TIMESTAMP, js_name='replyDate')
  expertise_type = Column('expertiseType', Integer, js_name='expertiseType')
  status = Column(Integer)
  staged = Column(Integer)
  story = relationship(“Story",primaryjoin='and_(Reply.story_id == Story.id, Reply.parent_id==0, Reply.staged>1)', backref=backref("replies", uselist=True ))
  parent = relationship('Reply',primaryjoin='and_(Reply.parent_id==Reply.id, Reply.staged>1)', backref='responses', remote_side='Reply.id', viewonly=True, uselist=True)

  def __init__(self):
    self.staged = constants.POST_QUEUE_STATUS['STAGED']

  @property
  def reply_count(self):
    return len(self.responses)
story.replies的where子句: 其中
Reply
rushlineID
=%s和
Reply
parentID
=%s和
Reply
.staged>%s

parms sqlalchemy.engine.base.engine(110L,0,1)

然而,这是完美的: 故事的where子句。答复[0]。答复: 其中
Reply
parentID
=%s和%s>%s

参数是sqlalchemy.engine.base.engine(68L,2,1)

我需要的是
Reply
parentID
=%s和
Reply
.staged>%s和%s>%s的位置
sqlalchemy.engine.base.engine(68L,1,2,1)

我必须承认,这是一个神奇的咒语,我经历了很多尝试和错误。以下是相关位:

parent_id = RlColumn('parentID', Integer, 
                     ForeignKey('rlReply.replyID'),
                     js_name='parentId')
parent = RlRelationship('Reply',
                        primaryjoin='and_(Reply.parent_id==remote(Reply.id),Reply.flagged_status <2)',
                        remote_side=id, uselist=True, 
                        foreign_keys=parent_id, backref='replies')
parent\u id=RlColumn('parentID',Integer,
ForeignKey('rlReply.replyID'),
js_name='parentId')
parent=RlRelationship('Reply',
primaryjoin='和\(Reply.parent\u id==remote(Reply.id),Reply.flagged\状态