問題タブ [django-modeladmin]

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

django - 集計を表示する Django 管理インターフェース

django 管理インターフェイスを使用して、モデル内のデータの集計を表示したいと考えています。例: モデルには次のフィールド [従業員名、給与、月] があります。フィールド [月、総給与支払額、累積月間給与支払額] を持つ集計テーブルが必要です。どうすればいいですか?? 私はインターネットを検索しましたが、それを行う方法が見つかりませんでした..参照やガイダンスが役立ちます

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

django - Django:オブジェクトに応じた条件付きModelAdmin

たとえば、次のような基本クラスがあるとします。

ここで、いくつかのタイプのオブジェクトをテーブルに入力しています。その中には、データの一部を使用するものもあれば、他の部分を使用するものもあり、すべて共通の部分 (この例では名前) を使用しています。

完全なリストが必要ですが、オブジェクトをクリックしたときに、そのタイプに応じて異なるビューが必要です。modelAdmin の変更には、次のようなものがあります。クラスの 1 つはインラインを使用し、他のクラスは使用しない、list_display が異なる、追加の CSS があるなど。基本的に、異なる modelAdmin について話しています。

私が考えている代替案: 1 つは、これらの型のそれぞれが Base をサブクラス化することです。

次に、それぞれに modelAdmin を定義し、Base クラスに 1 つ定義して、すべてを一覧表示するテーブルを取得します。この例では、/app/base/id ではなく、タイプに応じて /app/type1/id、/app/type2/id などに移動するようにリンクをオーバーライドします。これらのそれぞれについて、modelAdmins を変更して、保存後に /app/type に戻るようにします

別の代替手段は、単一のモデルと単一の modelAdmin を持ち、change_view に使用しているすべてのメソッドをオーバーライドして、レンダリングしているオブジェクトのタイプ、つまり get_inline_instances、get_formsets など、list_display、list_display_links、list_filter を変更する必要があるものをすべてオーバーライドすることです。など

最初の選択肢は私にはずっときれいに見えますが、modelAdmin でメソッドを定義する以外にリンクを変更する方法がわかりません。

私が見逃している簡単な方法はありますか?どのようにしますか?

ああ、それは管理者を使用する必要があります。ビューまたは別のモデルを使用してこれを行いたいのですが、残念ながらこれがそうあるべきです。最高司令部は、すべてを 1 つのテーブルにまとめたいと考えています。

ありがとう!。

編集:また、私はこれを見つけたばかりで、良さそうです:

http://django-polymorphic.readthedocs.org/en/latest/admin.html

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

django - tabularinline ブロックの各行に行番号を追加する方法

タイプ TabularInline のインラインを持つ ModelAdmin クラスがあります。私が望むのは、TabularInline の各行の左側に行番号が表示されるようにすることです。この数は、新しいレコードがインラインに追加されると増加し、フォームが編集されているときに表示されます。

行番号は、インライン データのモデルの一部ではなく、インライン ブロックによって新しいレコードが追加または表示されるたびに生成されることを好みます。この番号をデータベースに保持する必要はありません。これは、ModelAdmin クラスの別のフィールドでの参照のみを目的としています。

私はdjangoが初めてで、これを実現する方法がわかりません。

任意の提案をいただければ幸いです。

よろしく、リック

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

python - Django formfield_for_foreignkey

ドキュメントに従って、外部キー フィールドで管理者の選択をフィルタリングしようとしています。

私のモデルはとてもシンプルです:

それを達成するには、次のようなことをする必要があります:

それは機能していますが、ページにアクセスするたびに関数を3回実行しているため、合計5回のクエリが発生します(3回とデフォルトで2回)。同じ db_field を 3 回渡しています。

それを1つのクエリだけに減らすにはどうすればよいですか? これは意図した動作ですか? もしそうなら...なぜですか?

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

python - ModelForm save() メソッドをテストしてモデルの変更を保存する方法は?

AdminModelの管理者変更フォームからフィールドを食べたり保存したりModelFormできるように、 をオーバーライドしました。UserPerson

しかし、私は save() メソッドをチェックするテストを書くのに苦労しています:

更新テスト

ソリューションを更新します。リクエストされた非表示フィールド「ユーザー」を埋めていなかったことが判明しました。除外により、フォームが有効になり、テストに合格しました。

admin.py

tests.py