Это должно быть где-то в документации Django, но я не могу найти его.
Скажите, у меня есть следующие модели:
models.py
class MyModel(models.Model):
name = models.CharField(max_length=15)
class MyOtherModel(models.Model):
title = models.CharField(max_length=50)
my_model = models.ForeignKey(MyModel)
И я создаю форму, в которой меняю цвет фона виджета «Выбор»:
forms.py
class MyOtherModelForm(ModelForm):
my_model=ModelChoiceField(queryset=MyModel.objects.all())
class Meta:
model = MyOtherModel
def __init__(self, *args, **kwargs):
super(MyOtherModelForm, self).__init__(*args, **kwargs)
self.fields['my_model'].widget = Select(attrs={'style':'background_color:#F5F8EC'})
Все работает нормально, пока не добавлен код цвета фона. Как только я добавляю эту строку, появляется цветной, но не населенный виджет выбора. Я предполагаю, что это потому, что, как только я укажу некоторый аспект поведения виджета, Django ищет все, что будет указано.
Так как мне сказать, чтобы он использовал значения из MyModel для заполнения виджета Select?