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

パラメータがnonedjangoの場合のクエリ

    質問があるかどうかはわかりませんが

    Model.objects.filter(x=x, y__isnull = False, z=z)
    

    クエリセットを提供します。ここで、y 列がnullではありません(IS NOT NULL

    こちら 関連するドキュメント。

    編集:yがNoneであるかどうかを確認し、クエリセットを動的に構築します:

    if y is None:
        qs = Model.objects.filter(x=x).filter(z=z)
    elif z is None:
        qs = Model.objects.filter(x=x).filter(y=y)
    ...
    

    処理する引数が多すぎる場合は、次のようなものを使用できます。 xと仮定します 、yz 辞書に保存されているyour values

    your_values = { 'x' : 'x value', 'y' : 'y value', 'z' : 'value'}
    arguments = {}
    for k, v in your_values.items():
        if v:
            arguments[k] = v
    
    Model.objects.filter(**arguments)
    


    1. 英数字と空白を含むレコードを取得する方法

    2. Springデータのエンティティにスキーマ名を追加しますか?

    3. OracleのREPLACE()関数

    4. hibernateを使用したスト​​アドプロシージャを介して複数のテーブルエンティティを取得できません