問題タブ [django-1.11]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Django 1.11 - ネストされた OuterRef の使用
最近、サブクエリ機能が導入されたため、Django を最先端のバージョン 1.11rc1 に更新しました。
さて、これが私のユース ケースだとしましょう。次のモデルがあります-ユーザー、グループ、およびアクセス許可。したがって、グループ化できるユーザー (管理者グループなど) とアクセス許可があります。これは、いくつかのことを実行できるユーザーのリストです (たとえば、新しいユーザーを作成できるユーザー A、ユーザー B、および管理者がいます)。私が今やりたいことは、すべてのアクセス許可を効率的に表示することです。つまり、アクセス許可に関するすべての情報を返し、各アクセス許可のユーザー数を計算する QuerySet を作成したいと考えています。これを回避する最初の明白な方法は、get_user_count
ManyToMany リレーションシップからすべてのユーザーを返す Permission モデルのメソッドですが、それには Permission ごとに少なくとも 1 つの追加クエリが必要になります。使いたいところですSubquery
。
それで、物事を明確にするために-これはmodels.pyです:
そして、内部に多数のユーザーを含むすべてのアクセス許可を返すクエリセットを作成したいと考えています。例として、自分のグループに属するユーザーのみを含めたいとします。つまり、次のようになります。
ここでの問題はOuterRef
、「サブクエリのフィルターのフィルター」で使用されているように my を解決できないことです。
ただし、別のサブクエリを使用してグループを取得すると、次のようになります。
最初の行でエラーが発生します。
残りの行は重要ではなく、エラーには影響しません。奇妙なことに、まったく同じ構文がドキュメントに表示されます: https://docs.djangoproject.com/en/dev/ref/models/expressions/#django.db.models.OuterRef
問題は、私が間違っていることは何ですか? または、他の方法で(効率的ではありますが)私が望むものを達成する方法は?
python - Django テンプレート キーワード `choice_value` は 1.11 では機能しなくなりました
テンプレートには複数のチェックボックスがあり、レンダリングに値が含まれている場合、デフォルトで選択がチェックされます。1.10で問題なく動作します。
フォーム.py:
テンプレート:
ビュー.py:
Django 1.11 にアップグレードする{{ p.name }}
と、{{ p.choice_value }}
何も返されません。1.11 で が削除されたことは知ってchoice_value
いますが、この問題を解決するにはどうすればよいですか?
1.10 https://docs.djangoproject.com/en/1.10/_modules/django/forms/widgets/
1.11 https://docs.djangoproject.com/en/1.11/_modules/django/forms/widgets/
django - Djangoはリクエストライブラリに組み込まれていますか?
このトピックに関するいくつかの質問がここにありますが、それらはすべて少なくとも2年前のものであるため、数年前までDjangoには1つもありませんでした
ほとんどの場合、python-request または urllib を使用することをお勧めします
私の質問は、Django にはデフォルトでこれが含まれていますか? 別のサーバーに POST/GET リクエストを送信するためのモジュールですか、それとも外部ライブラリをインストールする必要がありますか?
これは主に、API を使用する際にクロスドメイン ポリシーをバイパスしないようにするためです。