問題タブ [django-models]
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 - save() 関数での Django 外部キー アクセス
これが私のコードです:
パブリッシャーの保存機能から各アイテムにアクセスできるようにしたい。これどうやってするの?
code
たとえば、Publisher の保存時に、この Publisher に関連付けられている各アイテムのフィールドにテキストを追加したいと考えています。
編集: 最初の解決策を実装しようとすると、「'Publisher' オブジェクトに属性 'item_set' がありません」というエラーが表示されます。どうやらその方法ではアクセスできません。他の手がかりはありますか?
編集 2 : 発生する問題は、新しい Publisher オブジェクトを作成するときに、アイテムをインラインで追加することであることがわかりました。そのため、パブリッシャーを保存してアイテムにアクセスしようとすると、それらは存在しません。
これを回避する方法はありますか?!
python - Djangoでは、動的フィールドルックアップでQuerySetをどのようにフィルタリングしますか?
与えられたクラス:
動的引数に基づいてフィルタリングする QuerySet を使用することは可能ですか? 例えば:
python - 複数テーブルのサブクラス化されたモデルの管理汎用インラインが壊れています --- 代替手段はありますか?
これが私がやろうとしていることであり、失敗しています...
他のオブジェクトとの一般的な関係を持つファイル モデルがあります。
また、ダウンロードではなくページ内に表示される画像の特定のケースに対処するために、ファイルのサブクラスが必要です。
File モデルのジェネリック インラインを含め、上記のすべてが正常に機能しますが、Image モデルのジェネリック インラインを使用するまでは --- 保存プロセスが基本クラス インスタンスの作成に失敗し、Image が.file_ptr (基本クラスへの「秘密の」外部キー) を None にすることはできません。
したがって、基本的に、一般的なインラインは現時点で複数テーブルの継承を適切にサポートしていません。
これを必要以上に複雑にしている可能性が非常に高いので、誰かがこの問題の修正、または同じ目的を達成するためのより良い方法を提案できますか?
さらに説明が必要な場合はお知らせください。
sql - django を使用して、別のモデルの 2 つのクエリを 1 つのクエリに結合するにはどうすればよいですか?
私の特定のケースでは、取得してページ付けする必要がある 2 種類の「メッセージ」があります。
詳細は省き、最初の種類は Msg1 と呼ばれるモデルにあり、もう 1 つは Msg2 と呼ばれるモデルにあるとだけ言っておきましょう。
これら 2 つのモデルのフィールドは完全に異なります。2 つのモデルに共通するフィールドは、"date" と "title" (そしてもちろん id) だけです。
取得できますがMsg1.objects.all()
、Msg2.objects.all()
これら 2 つのクエリを 1 つのクエリに結合し、日付で並べ替えて、ページ番号を付けることはできますか?
クエリの怠惰な性質を維持する必要があります。
簡単な解決策は、list(query)
両方のクエリを実行し、それらを python リストに結合することです。しかし、これは明らかな理由で非効率的です。
モデルと dp-api の django リファレンスを調べましたが、異なるモデル/テーブルのクエリを 1 つに結合する方法はないようです。
django - Django:データベースエントリの同時変更から保護するにはどうすればよいですか?
2人以上のユーザーによる同じデータベースエントリの同時変更から保護する方法はありますか?
2番目のコミット/保存操作を実行しているユーザーにエラーメッセージを表示することは許容されますが、データを黙って上書きしないでください。
ユーザーが「戻る」ボタンを使用するか、単にブラウザを閉じて、ロックを永久に残す可能性があるため、エントリをロックすることはオプションではないと思います。
python - Django のあるアプリから別のアプリへの外部キー
Djangoのmodels.pyファイルで、別のアプリのテーブルへの参照である外部キーを定義できるかどうか疑問に思っていますか?
つまり、cf と profile という 2 つのアプリがあり、cf/models.py には次のようなものがあります。
そして、profiles/models.py に次のものが必要です。
しかし、私はそれを機能させることができません。私はもう試した:
models.py の先頭で cf.Movie をインポートしようとしましたが、次のようなエラーが常に発生します。
このように 2 つのアプリを結びつけようとすることは規則に違反しているのでしょうか、それとも単に構文が間違っているのでしょうか?
python - Django モデルで単純なカスタマイズされたフィールド タイプを作成するにはどうすればよいですか?
標準の Django 型にマップする Django でいくつかの型を作成しようとしています。カスタム モデル フィールドのドキュメントは、複雑なケースに入ります。便利なメソッドがたくさんあるクラスから基本的な Django 型を保存したいだけです。
たとえば、トランプを保管している場合、次のようなものが必要です。
モデルに次のようなものを持たせたい:
答えは、正しいタイプから継承し、カードに特別な名前の get/store フィールドを追加し、名前をinit () に変更するように見えると予想しています。サンプルコードやより良いドキュメントを持っている人はいますか?
python - Django Schools のモデル設計に関する情報を探しています
今日は、Django ベースの学校管理プログラムを作成する小さなプロジェクトを開始します。私は現在、モデルとそれに対応する関係を設計しています。Django とリレーショナル データベース全般についてはかなり新しいので、意見をお願いします。
現在のモデル レイアウトをお見せする前に、プログラムの目的を理解しておく必要があります。ソフトウェアを個々の学校と学校システム全体の両方で使用できるようにすることが私の目標であることを覚えておいてください。
機能: - 複数の学校を作成します - 学校
ごとの生徒数を追跡します -
生徒の人口統計、保護者の連絡先情報などを追跡します - 成績表 - 成績証明
書
-
懲戒記録を追跡します。
- 料金スケジュールと支払いの追跡
- レポートの生成 (学生の活動、学生の成績証明書、クラスの進捗状況、人口統計別の進捗状況、支払いレポート、学生クラスおよび人口統計別の懲戒レポート)
-- 学生レポート用の自動化された PDF レポートの電子メールを保護者に送信します。
これらの機能要件を考慮して、私が現在持っているモデル レイアウトは次のとおりです。
これをどのように改善できるかについてのアイデアがあれば、ぜひお寄せください。
アップデート
私は最初の models.py コードを書きましたが、これにはおそらく多くの愛が必要です。ご覧になりたい、またはプロジェクトに参加したい場合は、リンクをチェックしてください。
http://bazaar.launchpad.net/~djangoschools/djangoschools/trunk/files
python - djangoモデルのベースクラスの「具体的なクラス」を見つけるにはどうすればよいですか
モデル継承を使用する場合、django-model オブジェクトの実際のクラスを見つけようとしています。
問題を説明するコード:
2 つの Child クラスのさまざまなオブジェクトを作成し、それらすべてを含むクエリセットを作成すると、次のようになります。
オブジェクトが basemethod で Child_1 または Child_2 のどちらのタイプであるかを判断したいのですが、o1.child_1 および o2.child_2 を介して子オブジェクトにアクセスできますが、それは基本クラスの子クラスに関する知識を再征服します。
私は次のコードを思いつきました:
しかし、それはもろく感じられ、さらに多くのレベルで継承するとどうなるかわかりません.
django - Django 動的 OR クエリ
私はMultipleChoiceField
車のメーカーを保持しているフォームを持っています。車のデータベースをチェックしたメーカーにフィルターをかけたいのですが、これは問題を引き起こします。Q(make=...)
すべてのステートメントを動的に取得するにはどうすればよいですか?
開始方法:['value1', 'value2', ...]
どのように終了したいですか:Q(col='value1') | Q(col='value2') | ...
私は他のいくつかの方法を持っています。各メイクにクエリセットを追加して、その逆 (複数の除外を実行) を試みましたが、どちらも非常に遅かったです。