Разбор комментария немного отличается от вашего текущего понимания:
// promiseB will be resolved immediately after promiseA is resolved
Это означает, что promiseB
является обещанием, но будет разрешен сразу после разрешения promiseA
. Другой способ взглянуть на это означает, что promiseA.then()
возвращает обещание, присвоенное promiseB
.
// and its value will be the result of promiseA incremented by 1
Это означает, что значение, которое promiseA
разрешено, является значением, которое promiseB
получит в качестве своего успеха значение возврата:
promiseB.then(function (val) {
// val is now promiseA's result + 1
});
UPDATE 1: код, который меня выполняет с помощью 1) (не забывайте, что tot pass CHOICES в BooleanField в модели)
from main.models import TagCat
from django.contrib import admin
from django import forms
class MyTagCatAdminForm(forms.ModelForm):
class Meta:
model = TagCat
widgets = {
'by_admin':forms.RadioSelect
}
class TagCatAdmin(admin.ModelAdmin):
form = MyTagCatAdminForm
admin.site.register(TagCat, TagCatAdmin)
Радиокнопки выглядят уродливыми и смещенными, но не менее , они работают
2) Я решил со следующей информацией в MyModel.py:
BYADMIN_CHOICES = (
(1, "Yes"),
(0, "No"),
)
class TagCat(models.Model):
by_admin = models.BooleanField(choices=BYADMIN_CHOICES,default=1)
Вот более динамическое расширение ответа mgPePe:
class MyAdminForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(MyAdminForm, self).__init__(*args, **kwargs)
self.fields['by_admin'].label = 'My new label'
self.fields['by_admin'].widget = forms.RadioSelect()
class Meta:
model = TagCat
class MyAdmin(admin.ModelAdmin):
fields = ['name', 'by_admin']
form = MyAdminForm
Таким образом вы получите полный контроль над полями.
Существует еще один способ сделать это, IMO намного проще, если вы хотите, чтобы все поля одного и того же типа имели один и тот же виджет. Это делается путем указания formfield_overrides для ModelAdmin. Например:
class MyModelAdmin(admin.ModelAdmin):
formfield_overrides = {
models.TextField: {'widget': RichTextEditorWidget},
}
Подробнее в документах: https://docs.djangoproject.com/en/1.4/ref/contrib/admin/#django.contrib.admin.ModelAdmin. formfield_overrides
ОБНОВЛЕНО: ссылка на версию Django 2.0: https://docs.djangoproject.com/en/2.0/ref/contrib/admin/#django.contrib.admin. ModelAdmin.formfield_overrides