Je suis utiliser sqlalchemy 0.6.4.Comment config Beaucoup-à-plusieurs avec condition, dans Sqlalchemy
J'ai 2 classes: Question et Tag, ils sont plusieurs-à-plusieurs.
class Question(Base):
__tablename__ = "questions"
id = Column(Integer, primary_key=True)
deleted = Column(Boolean)
...
tags = relationship('Tag', secondary=r_questions_tags)
class Tag(Base):
__tablename__ = "tags"
id = Column(BigInteger, primary_key=True)
questions = relationship('Question', secondary=r_questions_tags)
Alors, tag.questions
obtiendrez toutes les questions appartiennent à une balise.
Mais maintenant, puisque le Question
a une colonne deleted
, je l'espère faire comme ceci:
class Tag(Base):
...
# get non-deleted questions
questions = relationship('Question', secondary=r_questions_tags,
condition='Question.deleted==False')
# get deleted questions
deleted_questions = relationship('Question', secondary=r_questions_tags,
condition='Question.deleted==True')
Mais malheureusement, il n'y a pas un tel paramètre condition
. Que puis-je faire maintenant?
Ne serait-il judicieux de supprimer les enregistrements QuestionTag pour tous "supprimé" des questions? Peut-être pourriez-vous créer une relation "questions supprimées" et "déplacer" la question là-bas. – Marco
Voulez-vous dire que je peux créer une autre table pour contenir les «deleted_questions_tags»? C'est trop compliqué – Freewind