Автополе Django при отображении с использованием набора форм по умолчанию скрыто. Как лучше всего это показать?
На данный момент модель объявлена как
class MyModel:
locid = models.AutoField(primary_key=True)
...
Когда это отрисовывается с использованием форм-наборов Django,
class MyModelForm(ModelForm):
class Meta:
model = MyModel
fields = ('locid', 'name')
отображается на странице как
<input id="id_form-0-locid" type="hidden" value="707" name="form-0-locid"/>
Спасибо.
Редактировать
Я создаю форму, как это -
LocFormSet = modelformset_factory(MyModel)
pformset = LocFormSet(request.POST, request.FILES, queryset=MyModel.objects.order_by('name'))
Второе редактирование
Похоже, я не использую класс пользовательской формы, который я там определил, поэтому вопрос нуждается в небольшом изменении.
Как мне создать набор форм из пользовательской формы (которая будет отображать скрытое поле), а также использовать пользовательский набор запросов?
В настоящее время я могу либо наследовать от класса BaseModelFormSet и использовать пользовательский набор запросов, либо я могу использовать класс ModelForm для добавления настраиваемого поля в форму . Есть ли способ сделать оба с помощью formset?
Третье редактирование
Я сейчас использую,
class MyModelForm(ModelForm):
def __init__(self, *args, **kwargs):
super(MyModelForm, self).__init__(*args, **kwargs)
locid = forms.IntegerField(min_value = 1, required=True)
self.fields['locid'].widget.attrs["type"] = 'visible'
self.queryset = MyModel.objects.order_by('name')
class Meta:
model = MyModel
fields = ('locid', 'name')
LocFormSet = modelformset_factory(MyModel, form = MyModelForm)
pformset = LocFormSet()
Но это все еще не
- Показать locid
- Использовать пользовательский запрос, который был указан.