私はそれを行う通りの方法を見つけることができませんでした。
1127 次
2 に答える
1
formfield_overridesプロパティを使用して、使用するウィジェットを変更してみてください (ModelAdmin だけでなく InlineAdmin クラスでも使用できます)。
from django.forms.widgets import RadioSelect
class ArticleDetailsInlineAdmin(admin.TabularInline):
...
fields = ['current', 'slug', 'summary', 'mod_date']
formfield_overrides = {
models.BooleanField: {'widget': RadioSelect},
}
これにより、ArticleDetailsInlineAdmin のすべてのBooleanFieldsに対してチェックボックスの代わりにラジオ ボタンが使用されることに注意してください。
于 2012-09-24T11:46:26.377 に答える
1
私はそれを行う通りの方法を見つけることができなかったので、JavaScript で微調整を行います。
$(document).ready(function() {
$(".field-current").live("click",function(){
$action = $($(this).children()[0])
current_state = $action.is(':checked');
$('.field-current').each(function(index) {
var $temp = $($(this).children()[0])
$temp.val(false);
$temp.attr('checked', false);
});
var $current = $($(this).children()[0])
if (current_state == "on" || current_state == true){
$current.val(true);
$current.attr('checked', true);
}else{
$current.val(false);
$current.attr('checked', false);
}
});
});
管理ページに追加
class ArticleDetailsInlineAdmin(admin.TabularInline):
....
fields = ['current', 'slug','summary','mod_date']
class ArticleHeaderAdmin(admin.ModelAdmin):
inlines = [ArticleDetailsInlineAdmin,]
......
form = ArticleForm
class Media:
js = ('js/admin-current-article.js')
これにより、現在のフィールドは inlineadmin のラジオ ボタンのように機能します。
于 2012-09-24T11:30:01.943 に答える