35

このようなことができるように、クエリ オブジェクトにカスタム メソッドを作成する方法はありますか?

User.query.all_active()

all_active()本質的にどこにある.filter(User.is_active == True)

そして、それをフィルタリングできますか?

User.query.all_active().filter(User.age == 30)
4

3 に答える 3

2

これは私にとってうまく機能します

class ParentQuery(Query):
    def _get_models(self):     
        if hasattr(query, 'attr'):
            return [query.attr.target_mapper]
        else:
            return self._mapper_zero().class_

    def FilterByCustomer(self):
        model_class = self._get_models()
        return self.filter(model_class.customerId == int(g.customer.get('customerId')))


class AccountWorkflowModel(db.Model):
    query_class = ParentQuery
    .................
于 2020-04-18T07:40:22.143 に答える