list_filter管理者をDjangoのために選択フィールドを追加します。ジャンゴ - これは私のDjangoの管理クラスの1つです
class InactiveSiteAdmin(SiteAdmin):
change_list_template = 'admin/change_list_inactive.html'
list_display = ('is_active', 'thumb', 'name', 'show_url', 'get_desc',
'keywords','category', 'subcategory', 'category1', 'subcategory1',
'group')
fields = ('name', 'url', 'id', 'category', 'subcategory', 'category1',
'subcategory1', 'description',
'keywords', 'date', 'group', 'user', 'is_active', 'date_end',)
readonly_fields = ('date', 'date_end', 'id')
list_display_links = ('name',)
actions = [activate_sites, activate_sites1, ]
def get_queryset(self, request):
return Site.objects.filter(is_active=False)
def response_change(self, request, obj):
return redirect('/admin/mainapp/site/{}/change/'.format(obj.id))
def has_add_permission(self, request):
return False
「activate_sites」アクションがOBJに選択したオブジェクトを受け入れて(それが見えるように)し、送信確認メール用のためです。電子メール(選択したオブジェクトの電子メールフィールド)。 list_displayに別のフィールドを追加したいと思います。たとえば、 "email_text"のように、スーパーユーザーが正しいテキストメッセージ(choiceフィールドを使用)を選択します。出来ますか?私は例えば3つのオブジェクトを持っています。 3つのオブジェクトすべてをアクティブにし、各オブジェクトに異なるテキストメッセージを選択する機会を与えたいと思います。
私はこのような何かを追加してみました:
def email_send_field(self, request):
MY_CHOICES = (
('A', 'Choice A'),
('B', 'Choice B'),
)
return(forms.ChoiceField(choices=MY_CHOICES))
が、私はlist_displayに "" を取得します。
ありがとうございました。それはいい考えです。私はすべての私の問題を解決するために正しい方法です;) – jundymek