問題タブ [django-orm]
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のモデルの逆の関係を持つすべてのクラスのセットを取得するにはどうすればよいですか?
与えられた:
クラス Food だけが与えられた場合、「逆の関係」を持つすべてのクラスのセットを取得するにはどうすればよいでしょうか。つまり、クラスFoodが与えられた場合、クラスCat、Cow、およびHumanを取得するにはどうすればよいでしょうか。
Food には、 Food.cat_set、Food.cow_set、およびFood.human_setの 3 つの「逆の関係」があるため、可能だと思います。
助けてくれてありがとう!
django - Django - コンパニオン保存フィールドを持つカスタム仮想モデル フィールド
ConfirmationField
フィールドタイプが欲しいです。このフィールドをブールフィールドのように機能させたい。この情報をデータベースに保存する必要はありません。代わりに、確認の日付を別のフィールドに保存したいと思います。
両方のフィールドをField
インスタンスとして持つ必要があります。たとえば、それらを Admin で使用できるようにする必要があります。
ドキュメントを読んでコードを確認し、ForeignKey
データベースの列名を次のコードで変更しました。
しかし、例として残りのコードをどのように使用できるかを正確に理解できませんでした。私の目標はそれほど複雑ではないようです。
ImageField
モデルを保存すると、保存された追加情報も見つかりました。
もちろん、confirmation
それ自体をデータベースに保存したくありません。confirmation_timestamp
( -> confirmation
) None
==False
および<datetime instance>
==であるため、冗長性が生じますTrue
。
任意のポインタ/アイデアをいただければ幸いです。
ありがとう。
編集:これは現在不可能のようです。APIを変更することになりました。これは、私がどのようにそれを行ったかを示すためのスニペットです。
上記の任意のタイプの確認フィールドを持つことができ、正しい値が設定されます。そして、確認チェックは で行うことができますbool(getattr(instance, field_name)
。
python - Django: デフォルトで大文字と小文字を区別しないルックアップを実行する
username
Django Auth フレームワークを使用する場合、デフォルトで大文字と小文字を区別しないクエリを実行する必要があります。
Queryset
メソッドのカスタムサブクラスを作成してオーバーライドし、_filter_or_exclude
そのサブクラスを User モデルのカスタムマネージャーで使用して、問題を修正しようとしました-
しかし、このアプローチは機能せず、実行しようとすると奇妙なエラーが発生しますUser.objects.get(username='Foo')
。
どんな助けでも大歓迎です。
更新: 発生している正確なエラーを含めています。
更新_filter_or_exclude
:ちなみに、メソッド内のロジックを実際のQuerySet
クラスにコピーすると、問題なく動作することに言及したかっただけです。
django - Djangoでrecondsを削除するのを手伝ってください
リレーションシップテーブルのエントリを削除するにはどうすればよいですか。この場合、私はグループとユーザーの間に多対多の関係を持っています。上記のコードのdeleteステートメントは、Groupsテーブルからグループを削除します。Users_groupテーブルからユーザーとグループの関係を削除したいだけです。これを行うにはどうすればよいですか。
ありがとう
django - Django ORM: ForeignKey オブジェクトのキャッシュと操作
次の宇宙征服ゲームの models.py のスケルトンを考えてみましょう:
私が取り組んでいるプロジェクトには、このようなデータ モデルが多数あり、さまざまなデータ オブジェクト間のやや複雑な相互作用に基づいてゲームの状態を変更します。データベースへの多くの不要な呼び出しを避けたいので、1ターンに1回、次のようにします
- データベースからすべての艦隊、惑星、およびその他のオブジェクトを照会し、それらを Python オブジェクトとしてキャッシュします
- ゲームオブジェクトを処理し、ゲームの状態を解決する
- それらをデータベースに保存します
このモデルは、ForeignKey オブジェクトを使用すると完全に崩壊するようです。たとえば、新しい艦隊が惑星を出発するとき、次のような行があります。
この行が実行された後、惑星の艦隊を含む各惑星の船の数を変更する他のコードがあります。残念ながら、上記の行で行った変更は、以前に取得した惑星の QuerySet には反映されていないため、ターンの終わりにすべての惑星を保存すると、fleet.home の船への変更が上書きされます。
この状況を処理するためのより良い方法はありますか? それとも、これがすべての ORM のあり方ですか?
django - djangoでフィルターを使用する方法
class Status(models.Model): someid = models.IntegerField() 値 = models.IntegerField() status_msg = models.CharField(max_length = 2000)
そのため、いくつかの値の間に与えられた someid を含む値を取得する必要があります。そう言わせて
したがって、私の最終結果は、id = 20 の 2 つのエントリを含むリストであり、これを実装する方法です。
使ってみた
どれが間違っていますか?これを修正する方法。
ありがとう。
python - 特定のキーインスタンスを制限するDjango ORMクエリ
Projectfundingdetail には、プロジェクトへの外部キーがあります。
次のクエリは、 projectfundingdetail が 1000 未満のすべてのプロジェクトのリストを表示します。最新の projectfundingdetail のみに制限するにはどうすればよいですか。
次の関数を定義しました。
latest_funding
しかし、データベースフィールドではないため、次は使用できません
では、最新の projectfundingdetail のみが 1000 未満のすべてのプロジェクトを取得するには、どのクエリを使用すればよいでしょうか。
sql - Django ORMを使用して最大値に基づいて単一の子行をフェッチする
別のモデル「契約」と1対多の関係を持つモデル「市場」があります。
Market オブジェクトを、それぞれの最大価格のコントラクトと共に取得したいと考えています。これは、生のSQLを介して行う方法です。
SQLを使わずにこれを実装する方法はありますか? ある場合、パフォーマンスの観点からどちらを優先する必要がありますか?