У меня есть следующие модели:
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
archived = db.Column(db.Boolean, default=False)
class Post(db.Model):
id = db.Column(db.Integer, primary_key=True)
content = db.Column(db.UnicodeText, nullable=True)
user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False, index=True)
user = db.relationship(
'User',
backref='posts',
foreign_keys='Post.user_id',
)
Как добавить фильтр в Post
в столбце отношений user
чтобы отфильтровать архивированных пользователей? Я хочу, чтобы избежать изменения типа отношения к lazy='dynamic'
, гораздо скорее сделайте это в модели здесь
Вы можете установить свойство в разделе Post:
@property
def unfiltered_posts():
return SESSION.query(cls).Join(User).filter(User.archived==False).all()