タグ付けされた質問 「django-queryset」

Djangoクエリセットは、DjangoのORMシステムからオブジェクトを取得するための主要な抽象概念です

15
Djangoクエリセットフィルタリングで等しくない方法を教えてください。
DjangoモデルのQuerySetsには、__gtと__ltの比較値がありますが、__ne/ !=/ <>(等しくない?) 等しくないを使用してフィルタリングしたい: 例: Model: bool a; int x; が欲しいです results = Model.objects.exclude(a=true, x!=5) これ!=は正しい構文ではありません。私が試しました__ne、<>。 私は結局使用しました: results = Model.objects.exclude(a=true, x__lt=5).exclude(a=true, x__gt=5)

12
Djangoビューで2つ以上のクエリセットを組み合わせる方法は?
私は構築しているDjangoサイトの検索を構築しようとしています。その検索では、3つの異なるモデルで検索しています。そして、検索結果リストのページネーションを取得するために、汎用のobject_listビューを使用して結果を表示したいと思います。しかし、そのためには、3つのクエリセットを1つにマージする必要があります。 どうやってやるの?私はこれを試しました: result_list = [] page_list = Page.objects.filter( Q(title__icontains=cleaned_search_term) | Q(body__icontains=cleaned_search_term)) article_list = Article.objects.filter( Q(title__icontains=cleaned_search_term) | Q(body__icontains=cleaned_search_term) | Q(tags__icontains=cleaned_search_term)) post_list = Post.objects.filter( Q(title__icontains=cleaned_search_term) | Q(body__icontains=cleaned_search_term) | Q(tags__icontains=cleaned_search_term)) for x in page_list: result_list.append(x) for x in article_list: result_list.append(x) for x in post_list: result_list.append(x) return object_list( request, queryset=result_list, template_object_name='result', paginate_by=10, extra_context={ 'search_term': …


6
DjangoクエリでORフィルターを実行するにはどうすればよいですか?
ユーザーが追加した(作成者としてリストされている)アイテムまたは承認されたアイテムをリストできるようにしたい。 だから私は基本的に選択する必要があります: item.creator = owner or item.moderated = False Djangoでこれを行うにはどうすればよいですか?(できればフィルターまたはクエリセットを使用)。

3
djangoクエリセットでOR条件を実行する方法は?
次のSQLクエリに相当するDjangoクエリを記述したいと思います。 SELECT * from user where income >= 5000 or income is NULL. Djangoクエリセットフィルターの作成方法 User.objects.filter(income__gte=5000, income=0) これはANDフィルターなので、機能しません。私がしたいOR個々のクエリセットの和集合を取得するためのフィルタ。

3
値のリストでDjangoクエリをフィルタリングするにはどうすればよいですか?
これは簡単な操作だと思いますが、どのように行われるのかわかりません。 これよりも賢いものが必要です。 ids = [1, 3, 6, 7, 9] for id in ids: MyModel.objects.filter(pk=id) 私は次のようなものですべてを1つのクエリで取得したいと考えています。 MyModel.objects.filter(pk=[1, 3, 6, 7, 9]) 値のリストでDjangoクエリをフィルタリングするにはどうすればよいですか?

7
Djangoでクエリオブジェクトを日付範囲でフィルタリングするにはどうすればよいですか?
次のような1つのモデルにフィールドがあります。 class Sample(models.Model): date = fields.DateField(auto_now=False) 次に、日付範囲でオブジェクトをフィルタリングする必要があります。 1-Jan-2011との間の日付を持つすべてのオブジェクトをフィルタリングするにはどうすればよい31-Jan-2011ですか?


7
Djangoで空のクエリセットを確認する
クエリが結果を返したかどうかを確認するために推奨されるイディオムは何ですか? 例: orgs = Organisation.objects.filter(name__iexact = 'Fjuk inc') # If any results # Do this with the results without querying again. # Else, do something else... これをチェックする方法はいくつかあると思いますが、経験豊富なDjangoユーザーがそれをどのように行うかを知りたいのです。ドキュメントのほとんどの例では、何も見つからなかった場合を無視しています...

1
Djangoクエリセットで以下のフィルターを実行するにはどうすればよいですか?
プロファイルと呼ばれる各ユーザープロファイルのカスタムフィールドでユーザーをフィルターしようとしています。このフィールドはレベルと呼ばれ、0〜3の整数です。 等しいを使用してフィルタリングすると、選択したレベルのユーザーのリストが期待どおりに表示されます。 user_list = User.objects.filter(userprofile__level = 0) 以下を使用してフィルタリングしようとすると: user_list = User.objects.filter(userprofile__level < 3) エラーが発生します: グローバル名「userprofile__level」が定義されていません <または>でフィルタリングする方法はありますか、それとも間違ったツリーを呼び出していますか?

14
DjangoでDateTimeFieldの日付をフィルタリングするにはどうすればよいですか?
DateTimeField日付との比較をフィルタリングしようとしています。というのは: MyObject.objects.filter(datetime_attr=datetime.date(2009,8,22)) 私は時間を考慮していない(と思う)ため、空のクエリセットリストを回答として取得しますが、「いつでも」欲しいのです。 これを行う簡単な方法はDjangoにありますか? 設定された日時に時刻がありますが、そうではありません00:00。

13
Djangoフィルターと単一オブジェクトの取得?
私はこれについて何人かの同僚と議論していました。あなたが1つだけを期待しているときにDjangoでオブジェクトを取得するための好ましい方法はありますか? 2つの明白な方法は次のとおりです。 try: obj = MyModel.objects.get(id=1) except MyModel.DoesNotExist: # We have no object! Do something... pass そして: objs = MyModel.objects.filter(id=1) if len(objs) == 1: obj = objs[0] else: # We have no object! Do something... pass 最初の方法は、動作はより正しいようですが、制御フローで例外を使用しているため、オーバーヘッドが発生する可能性があります。2つ目はより回り道ですが、例外は発生しません。 これらのうちどれが好ましいと思いますか?どちらがより効率的ですか?

3
Djangoの値リストと値
Djangoでは、次の2つの違いは何ですか? Article.objects.values_list('comment_id', flat=True).distinct() 対 Article.objects.values('comment_id').distinct() 私の目標は、それぞれの下で一意のコメントIDのリストを取得することArticleです。私はドキュメントを読みました(そして実際には両方のアプローチを使用しています)。結果は明らかに似ています。

4
単一のクエリセットでデータベースレコードを選択して更新する
2つのクエリを実行するのではなく、同じようにupdateand selectステートメントを実行するにはどうすればよいですかqueryset。1つはオブジェクトを選択するためのもので、もう1つはオブジェクトを更新するためのものです。 SQLでこれに相当するものは次のようになります。 update my_table set field_1 = 'some value' where pk_field = some_value


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.