Скрытый ввод с django-зашифрованными полями [дубликат]

Разбор комментария немного отличается от вашего текущего понимания:

// 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
});
18
задан webjunkie 11 June 2014 в 10:51
поделиться

3 ответа

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)
30
ответ дан lucemia 22 August 2018 в 12:51
поделиться

Вот более динамическое расширение ответа 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

Таким образом вы получите полный контроль над полями.

9
ответ дан Éric Araujo 22 August 2018 в 12:51
поделиться

Существует еще один способ сделать это, 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

26
ответ дан Risadinha 22 August 2018 в 12:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: