問題タブ [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.

0 投票する
4 に答える
37891 参照

django - Djangoで同じモデルへの2つの外部キーを取得するにはどうすればよいですか?

同じモデルへの 2 つの外部キーが必要です。

次のようなエラーが表示されます。

フィールド 'example1' のアクセサーが関連フィールド 'Example.test_set' と衝突します。「example1」の定義に related_name 引数を追加します。

0 投票する
1 に答える
4650 参照

python - 中間テーブルを介した多対多の関係のDjangoモデルAPI逆引き

レジデントがあり、レジデントが属する SSA のセットを取得できないようです。私は試してみましres.ssa_set.all() .ssas_set.all().ssa_resident_set.all()。それを管理することはできません。別のテーブルを介した逆 m2m ルックアップの構文は何ですか?

編集:「QuerySet as no attribute」エラーが発生します。ええと?

0 投票する
4 に答える
10182 参照

django - モデルの_setのDjangoマネージャー

現在、Django の学習を進めていますが、この問題を自分で解決する方法がわかりません。私は本Developers Library - Python Web Development With Djangoを読んでいます.1つの章で、2つのモデル(ストーリーとカテゴリ)、いくつかの汎用ビューとカスタムビュー、ビューのテンプレートを備えた単純なCMSシステムを構築しています。

この本には、ストーリー、ストーリーの詳細、および検索を一覧表示するためのコードのみが含まれています。それを拡張して、カテゴリとストーリーのネストされたリストを含むページを作成したいと考えました。

カテゴリのリストに独自の一般的な object_list ビューを追加する方法を理解することができました。私の問題は、ストーリーが公開されているかどうかにかかわらず、ストーリーモデルに STATUS_CHOICES があり、デフォルトで公開ストーリーのみを取得するカスタムマネージャーがあることです。一般的なカテゴリ リスト ビューに、カスタム マネージャーも使用し、パブリック ストーリーのみをフェッチするように指示する方法がわかりません。その小さな問題を除いて、すべてが機能します。1 つのページでそのカテゴリのすべてのストーリーのサブ リストを含むすべてのカテゴリのリストを作成できます。唯一の問題は、リストに非公開のストーリーが含まれていることです。

ここで正しい軌道に乗っているかどうかはわかりません。私のurls.pyには、すべてのCategoryオブジェクトを取得する汎用ビューが含まれており、私のテンプレートでは、category.story_set.allを使用して、そのカテゴリのすべてのStoryオブジェクトを取得し、ループします。

テンプレートに if ステートメントを追加し、モデル ファイルの VIEWABLE_STATUS を使用して、リストするかどうかを確認することは可能だと思います。このソリューションの問題点は、DRY との互換性があまりないことです。

カテゴリで story_set を使用するときにパブリック Story オブジェクトでのみ取得するカテゴリ モデルのマネージャーを追加することは可能ですか?

それとも、これは私の問題を攻撃する間違った方法ですか?

関連コード

urls.py (カテゴリ リスト ビューのみ):

models.py:

category_list.html (関連テンプレート):

0 投票する
3 に答える
4904 参照

python - Djangoプロジェクトの構造、アプリ間で拡張認証「ユーザー」モデルを共有するための推奨構造?

ユーザーモデルが拡張/サブクラス化され、この結果のユーザーモデルが複数のアプリ間で共有および使用される場合、一般的なプロジェクト/アプリケーション構造はどのようなものになるのでしょうか。

複数のアプリで同じユーザーモデルを参照したいのですが。ログインインターフェイスはまだ作成していないので、どのように組み合わせるかわかりません。

次のことが思い浮かびます。

この状況に共通のパターンはありますか?ログインは「ログインアプリ」で処理するのが最適ですか?

この質問に似ていますが、より具体的です。 djangoアプリケーションの構成

アップデート

上記の私のユースケースを明確にしました。既存の認証ユーザーモデルにフィールド(拡張またはサブクラス?)を追加したいのですが。次に、そのモデルを複数のアプリで参照します。

0 投票する
6 に答える
13217 参照

django - 次に利用可能な主キーをモデル化する

一部のモデルの次の空き主キーを知るにはどうすればよいですか?

0 投票する
3 に答える
4340 参照

django - Djangoでは、ManyToManyFieldで文字列結合を使用できませんか? ManyToMany は単なるリストではありませんか?

私の Django プロジェクトには 2 つのモデルがあります。

  • マッチ
  • プレーヤー

Match には、プレイヤーを指す ManyToMany プロパティがあるため、複数のプレイヤーがマッチで競うことができます。プレーヤーのフル ネームの結合を使用して、「Richard Henry vs John Doe」のような有益なオブジェクト名を Django admin に返したいと思います。ただし、以下は失敗します。

ManyToManyFields は単なるリストではありませんか? なぜ参加できないのですか?どんな入力でも大歓迎です。これが私のプレーヤーモデルです。

ありがとう!

編集self.players.list_display:これをリストとして返すために使用できることを発見しました。トレースバックを吐き出すことはもうありませんが、何らかの理由で__unicode__名前が返されるようになりNoneました。それはなぜでしょうか?

編集 2 : 変更されたコード:

0 投票する
6 に答える
2173 参照

jquery - Django/Python を使用して大量の .csv データを webapp にアップロードする良い方法は何ですか?

ユーザーのデータをサイトに一括アップロードするための非常に基本的な CSV ファイル アップロード モジュールがあります。crontab で実行される Python スクリプトを使用してバックエンドで CSV ファイルを処理し、一括アップロードの結果をユーザーにメールで送信します。このプロセスは操作上は正常に機能しますが、csv ファイルの形式に問題があります。

さまざまな形式の csv ファイルを受け入れる方法に関する優れたツールや基本的なルールはありますか? ユーザーのデータ列の順序が異なる、列ヘッダーの名前がわずかに異なる (電子メール列のタイトルを「電子メール」にしたいが、「プライマリ電子メール」、「電子メール アドレス」と表示される場合がある)、または追加データが欠落している可能性があります。列。非常に寛容でユーザーフレンドリーな CSV アップロード機能の良い例はありますか?

また、ユーザーに CSV データとしてエクスポートするように指示するにはどうすればよいですか? アドレス帳の情報をインポートしているため、このデータは Outlook、Thunderbird、その他のアドレス帳を持つソフトウェア パッケージから取得されることがよくあります。受け入れる必要がある他の一般的なデータ形式はありますか?

0 投票する
6 に答える
30375 参照

django - 関連テーブル フィールドを使用した Django モデルのデフォルトの並べ替え順序

モデルのデフォルトの並べ替え順序を、(整数キーではなく) 関連モデルのフィールドに設定することは可能ですか? つまり、両方のモデルのフィールドを持つ SQL order by 句を生成するものはありますか? もしそうなら、どのように?これは query_by で実行できますが、デフォルトで設定する方法がわかりません。ありがとう。

0 投票する
4 に答える
4479 参照

python - Django - 仮想フィールドを使用してモデルを設計していますか?

Django で以下のような仮想フィールドを持つモデルを設計する場合、最もエレガントなアプローチについてお聞きしたいと思います...

オンラインストアを構築していて、システム内のすべての製品がモデル「 Product 」によって定義されているとしましょう。

しかし、ストアには互いにまったく関係のない多くの製品タイプがあるため、さまざまな製品タイプ (MP3 プレーヤーの容量、本のページ数など) の仮想フィールドを格納する何らかの方法が必要です。

私が Django の生のスキルで思いついた解決策は、これまでのところ完全にはほど遠いものです。

  • 手動で管理する「custom_fields」プロパティと中間テーブルがあります。(私の顔に醜い叫び声を上げます:))

  • または、Python の危険な exec-eval ステートメントを使用して、その場で " Product "からクラスを継承します(これは、メンテナンスと実装にはあまりにも多くのブードゥー教の魔法であり、Django 内部の知識が必要になります)。

これについてどう思いますか?

ティア。

0 投票する
1 に答える
350 参照

django - djangoサイトで、ユーザーが自分のアカウントに関連付けられている他のユーザーを作成できるようにしたい

ログインして登録したユーザーに、管理者となる追加のユーザーアカウントを作成させたいのですが。これらのアカウントは、それらを作成するユーザーに関連付けられている特別な「従属」アカウントになります。彼は、Googleアプリ管理者が会社のアカウントを管理する方法の理論のように、これらのアカウントを追加/変更/削除できる必要があります(あなたは通常のユーザーですが、他のユーザーも作成/破棄します)。

下位アカウントはアカウントを作成/変更/削除できません(自分のパスワードと通常のユーザーの動作を変更する場合を除きます)。これらすべてのアカウントにdjango認証モデルを使用しています。管理コードを使用せずに、authメソッドにアクセスして自分のカスタムビルドWebページからアカウントを追加/変更/削除するための良い方法は何ですか?