1
class Poll(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(255), unique=False)
is_deleted = db.Column(db.Boolean, default=False)
created_date = db.Column(db.DateTime, default=datetime.datetime.utcnow)
answers = db.relationship('Answer', backref='poll')
class Answer(db.Model):
id = db.Column(db.Integer, primary_key=True)
poll_id = db.Column(db.Integer, db.ForeignKey(Poll.id), nullable=False)
title = db.Column(db.String(255), unique=False, nullable=False)
votes = db.Column(db.Integer, nullable=False)
is_deleted = db.Column(db.Boolean, default=False, nullable=False)
created_date = db.Column(db.DateTime, default=datetime.datetime.utcnow)
poll = PollModel.query.join(
PollModel.answers
).options(
subqueryload(PollModel.answers.query)
).filter(
PollModel.id == poll_id,
PollModel.is_deleted == False,
)[0]
"is_deleted"属性でサブクエリする関連する回答をフィルタリングしようとしています。しかし、私は世論調査をフィルタリングするだけで、それが削除されていない回答を持っているかどうかを判断しています。サブクエリを使用して関連オブジェクトをどのようにフィルタリングしますか。SQLAlchemyフィルタ関連のサブクエリ
これを達成するには、 'contains_eager'を使用する必要があると思います。このオプションのドキュメントをご覧ください。また、この[回答](http://stackoverflow.com/a/7804059/99594)が役に立つかもしれません。 – van