Добавить фильтр в столбец колба + sqlalchemy отношения

1

У меня есть следующие модели:

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', гораздо скорее сделайте это в модели здесь

Теги:
sqlalchemy

1 ответ

0

Вы можете установить свойство в разделе Post:

@property
def unfiltered_posts():
    return SESSION.query(cls).Join(User).filter(User.archived==False).all()

Ещё вопросы

Сообщество Overcoder
Наверх
Меню