Djangoの管理者は、モデル(Invoiceモデルなど)に対して独自のフォームをオーバーライドして実装したいと考えています。Djangoのフォームを上書きするadmin
請求書フォームに顧客名、製品名の自動入力フィールドを追加し、カスタムの確認(顧客の与信限度額など)もしたいと考えています。どのように私はDjangoの管理者によって提供されるデフォルトのフォームをオーバーライドし、自分自身を実装することができますか?
私はDjangoを初めて使用しています。
Djangoの管理者は、モデル(Invoiceモデルなど)に対して独自のフォームをオーバーライドして実装したいと考えています。Djangoのフォームを上書きするadmin
請求書フォームに顧客名、製品名の自動入力フィールドを追加し、カスタムの確認(顧客の与信限度額など)もしたいと考えています。どのように私はDjangoの管理者によって提供されるデフォルトのフォームをオーバーライドし、自分自身を実装することができますか?
私はDjangoを初めて使用しています。
ModelAdminのフォーム属性を独自のフォームクラスに設定することで、djangoの組み込み管理者のフォームをオーバーライドできます。あなたはオートコンプリートのために特別に探しているなら、私はDjangoの管理者にフォームを上書きする方法https://github.com/crucialfelix/django-ajax-selects
をお勧めすることができますそれはhttps://docs.djangoproject.com/en/dev/ref/contrib/admin/#custom-template-options
を見てテンプレート - フォームを上書きすることも可能ですhttps://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.formとhttps://docs.djangoproject.com/en/dev/ref/contrib/admin/#adding-custom-validation-to-the-admin
を参照してください。 docs:
from django import forms
from django.contrib import admin
from myapp.models import Person
class PersonForm(forms.ModelForm):
class Meta:
model = Person
exclude = ['name']
class PersonAdmin(admin.ModelAdmin):
exclude = ['age']
form = PersonForm
このコードはmodels.pyまたはadmin.pyに配置しますか?また、私が作成したアプリを参照するのは、Personアプリケーションがどこに来るかです。 –
@KehlinSwain:人はモデルです。このコードはadmin.py、またはadmin.pyからインポートする外部のform.pyにあります。 –
フォームの表示方法を上書きすることはできますか?選択したフィールドの自動完成機能付き。 – 18bytes
確かに - 私は自分の答えを更新しました。 – fest
adminオートコンプリートをお探しの場合、私はdjango-ajax-selectを使用しませんでしたが、[django-autocomplete-light](http://django-autocomplete-light.readthedocs.io/en/master/)は間違いなく価値があります:) – GabLeRoux