問題タブ [django-inheritance]

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 投票する
1 に答える
633 参照

python - Djangoのサブクラスから基本クラス属性のデフォルト値を提供する方法は?

シナリオ:

すなわち。base_field が None の場合にのみデフォルト値を提供して、フィクスチャをデータベースにロードできるようにする必要があります。どんな助けでも大歓迎です!(注: BaseClass は抽象ではありません)

0 投票する
10 に答える
62034 参照

python - Djangoの場合-モデルの継承-親モデルの属性をオーバーライドできますか?

私はこれをしたいと思っています:

これは私が使用したいバージョンです(私はどんな提案も受け付けていますが): http ://docs.djangoproject.com/en/dev/topics/db/models/#id7

これはDjangoでサポートされていますか?そうでない場合、同様の結果を達成する方法はありますか?

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

python - Django モデルの継承の問題で Python 初心者を助ける

何年にもわたる PHP プログラミングを経て、初めての実際の Django プロジェクトに取り組んでいますが、モデルに問題が発生しています。最初に、私はモデル間でコードをコピー アンド ペーストしていることに気付きました。熱心な OO プログラマーとして、他のモデルが継承できる親クラスを作成することにしました。

ここまでは順調ですね。現在、私の他のすべてのモデルは「Common」を拡張し、希望どおりの名前と日付を持っています。ただし、名前を一意にする必要がある「カテゴリ」のクラスがあります。Common から name 属性にアクセスして一意にする比較的簡単な方法があるはずだと思います。ただし、私が使用しようとしたさまざまな方法はすべて失敗しました。例えば:

Django 管理ページで、「レンダリング中に例外が発生しました: 'Category' オブジェクトに属性 'name' がありません」というエラーが吐き出されます。

誰かが私を正しい方向に向けることができますか?

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

django - django-haystackで、モデルのサブクラスを使用するにはどうすればよいですか?

django-haystack(xapianバックエンドを使用)を取得して、ここでモデルにインデックスを付けて、フィールドnamedescriptionフィールドで検索しようとしています。

フィールドを追加する、Itemのサブクラスがあります。Devicemanufacturer

モデルは次のItemように定義されます。

django-haystackの私のサブクラスは次のSearchIndexようになります。

私はこのテンプレートを次のように設定しましたtemplates/search/indexes/catalog/item_text.txt

モデルオブジェクトがのインスタンスである場合にのみ、フィールドにインデックスが付けられるitem_text.txtように何を追加しますか?manufacturerDevice

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

django - 基本クラスでのクエリ後の Django モデル インスタンス タイプの決定

基本クラスのクエリから返された後、Django データベース オブジェクトの「実際の」クラスを特定する方法はありますか?

たとえば、これらのモデルがある場合...

そして、これらのインスタンスを作成します...

のようなクエリを実行すると、 のインスタンスと のインスタンスではなく、Animal.objects.all()2 つのインスタンスになります。どのインスタンスがどのタイプであるかを判断する方法はありますか?AnimalPersonDog


参考:私はすでにこれをやろうとしました...

しかし、それはうまくいかないようです。

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

django - djangoのさまざまなユーザータイプ用に個別の「admin」インターフェース

私は最近、いくつかのレベルのユーザーが関与するプロジェクトを作成しようとしています。

(省略された大まかなスキーマのほんの一例)

  • ME(スーパーユーザー)
    • クライアント_
      • 顧客_
      • 調査コレクション
        • SurveyUser(s)
          • 招待
        • 調査
          • 招待者(招待者は調査とユーザーの両方の子です)
        • 質問

私は理想的には:

  • www.example.com/client/アクセスするにはクライアントである必要があったクライアントインターフェイスに移動します
  • www.example.com/customer/アクセスするには顧客でなければならない顧客インターフェースに移動します

カスタマイズされたDjango管理インターフェースをそれらすべてに使用することはおそらく不可能である(またはそうなるのではないか)ことをすでに確立しました。したがって、私はユーザーのレベルごとに「admin」インターフェースを手動で作成し、それぞれの役割を管理できるようにすることに傾倒しています。異なるユーザータイプとそれぞれに個別のインターフェイスを使用するための最良の方法は何ですか?

http://scottbarnham.com/blog/2008/08/21/extending-the-django-user-model-with-inheritance/で概説されているユーザーを継承する方法が好きです。

しかし、ユーザーごとに異なる「管理」領域をどのように設定するかはわかりません。

関連する副次的な問題として、標準のユーザープロパティと一緒にカスタムプロパティにアクセスする方法と、使用する実際の管理インターフェイスでそれらを編集/保存する方法もわかりません。

クライアントデータベースに対して「クライアント」ユーザーを認証して、クライアントであることを確認する必要がありますが、認証、ユーザー名、パスワードなどを管理するユーザーデータベースに対しても認証する必要があります。

PHPからPython/Djangoに切り替えているので、アドバイスをいただければ幸いです。

ありがとう!

0 投票する
2 に答える
4665 参照

django - djangoテンプレートでマルチレベルのテンプレート継承を行うことは可能ですか?

私は3つのhtmlファイルを持っています:

  • base.html
  • page.html
  • コメント.html

page.htmlでbase.htmlを拡張しますcomment.htmlでは、 page.htmlを拡張します。comment.htmlはbase.htmlのブロックを拡張しますか?

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

python - 単一のDBテーブルを使用したDjangoモデルの継承 - スーパークラスからサブクラスにアクセスする際の問題

DBスキーマの変更を許可せずに、Oracleを使用してDjangoアプリケーションを開発しています。私はすべてThesisが存在する 1 つのテーブルを持っています。これは、2 つのばらばらなセットに分けることができます:PhdThesisBscMscThesis. Reviewまた、DBテーブルにリンクし、それがそうであるかどうかを気にしないモデルもThesis持っているので、クラスとして保持したいと思います。PhdThesisBscMscThesisThesisabstract = False

私が遭遇した問題は次のとおりです。

PhdThesis.objects.all()BscMscThesis.objects.all()意図したとおりに 2 つの互いに素なセットを返します。

Thesis.objects.all()[0].phdthesis上記の例で None または DoesNotExist を返さないのはなぜですか? そのような振る舞いを得るにはどうすればよいですか?

0 投票する
2 に答える
2490 参照

django - 指定されたフィールドを持つ Django select_related は、複数の 1 対 1 の関係を破ります

複数の OneToOneField リレーションシップで select_related を実行しようとすると、奇妙なエラーが発生します。たとえば、ターゲット フィールドが孫のサブクラスである場合です。何が起こっているのかを理解するのを手伝ってくれる人が欲しいです (または、これが Django のバグであることを確認してください)。

図:

簡単ですよね?ここで、クリーンなデータベースで Django シェルを開きます。

待って、何?そのクエリセットが空なのはなぜですか? 簡単な健全性チェック:

では、select_related 呼び出しが機能しないのはなぜでしょうか? さて、これを見てください:

それで、これは Django のバグですか、それとも私は何かを理解していませんか?

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

django - Django:関連フィールドを継承してクエリする方法

私はしばらくこれに対する答えを探していました。あるモデルから関連モデルにフィールドを追加し、関連モデル データをクエリするにはどうすればよいですか。

以下に例を示します。1 人の人が多くの仕事を持っています。

上記のコードは機能します。

今、私は別の問題を抱えていると思います。Django Rest Framework を取得して、これらの追加のプロパティをシリアル化します。新しい投稿の時間。

今私ができるようにしたいのは、ジョブをクエリして、関連する個人データを取得し、ジョブに個人フィールドを持たせることです。このようにして、ジョブを照会するときに、job.FirstName を使用できます。基本的に、Job から Person フィールドへのショートカットを作成したいと考えています。これは、Job が Person のフィールドを継承しているようなものです。

これにより予想されるサイトへの影響は、ジョブを残りのリソースの json としてシリアル化するときに、結果に Person フィールド データが含まれることです。

私は .Net C# のバックグラウンドを持っています。Python/Django を使用しているので、これを実現する方法がわかりません。