2017-11-28 1 views
0

私はReporterモデルを持っています。ニュースモデルを作成するときは、このニュースのレポーターを選択する必要があります。ジミーオルソンを選択から消したいと思っていますが、選択リストにはありません。それを作る方法?選択できない項目を非表示にする方法

enter image description here

答えて

1

ちょうどあなたadmin.pyでget_formメソッドをオーバーライド

def get_form(self, request, obj=None, **kwargs): 
    form = super(NewsAdmin, self).get_form(request, obj, **kwargs) 
    form.base_fields['reporter'].queryset = form.base_fields['reporter'].queryset.filter(name='Jimmy Olson') 
    return form 
0

あなたがニュースのモデルに挿入する容易にするために、管理者にジャンゴのtabularinlneを使用することができます

class NewsInline(admin.TabularInline): 
    model = News 
    extra = 0 
    show_change_link = True 

    def has_add_permission(self, request, obj=None): 
     return False 


class ReporterAdmin(admin.ModelAdmin): 
    list_display = ['race', ....] 
    list_filter = ['race',....] 
    inlines = [NewsInline, ] 

を入力し、モデルを管理者に登録してください

admin.site.register(Reporter, ReporterAdmin) 
関連する問題