sql >> データベース >  >> RDS >> PostgreSQL

PostgresDBでIDの大きな配列を使用するDjangoクエリフィルター

    カスタムルックアップ

    from django.db.models import Lookup
    from django.db.models.fields import Field
    
    @Field.register_lookup
    class EfficientInLookup(Lookup):
    
        lookup_name = "ineff"
    
        def as_sql(self, compiler, connection):
            lhs, lhs_params = self.process_lhs(compiler, connection)
            rhs, rhs_params = self.process_rhs(compiler, connection)
            params = lhs_params + rhs_params
            return "%s IN (SELECT unnest(%s))" % (lhs, rhs), params
    

    これにより、次のようにフィルタリングできます:

    MyModel.objects.filter(id__ineff=<list-of-values>)
    


    1. GlassfishはJDBCリソースを作成しません

    2. cmake、mingwを使用したC++のMySQLおよびMariaDBライブラリ

    3. Oracle-特定のユーザーの取引の履歴

    4. IDを別のテーブルの値に置き換えるMySQLJOIN