Я хочу создать скрытые поля, которые предварительно или после заполнения, используя общий CreateView, но, насколько я вижу, у меня есть только два варианта, которые не требуют указания формы ,Django Generic CreateView - как заполнять поля, но не отображать их
Это будет отображать поля уже заполнена:
class FootCreate(CreateView):
model = Footprint
fields = ["source","size","notes", "parent", "created_by"]
success_url = reverse_lazy('home')
def get_initial(self):
parent = Object.objects.get(id=self.kwargs['obj_id'])
return { 'parent': parent, 'created_by': self.request.user }
Или удалить поля, я не хочу, чтобы отобразить в списке полей:
fields = ["source","size","notes"]
но теперь поля не заполняются на формы, чтобы он не подтверждался.
Я знаю, что могу справиться с этим наследованием формы или с помощью JavaScript, чтобы скрыть поля формы, но я задавался вопросом, есть ли возможность иметь эквивалент:
fields = ["source","size","notes", "parent", "created_by"]
hidden_fields = ["parent", "created_by"]
в поле зрения?
ANSWER No - Но пользовательская модель формы занимает всего несколько строк. Дайте полный список полей в представлении .:
class FootprintForm(ModelForm):
class Meta:
model = Footprint
widgets = {'created_by': forms.HiddenInput, "object": forms.HiddenInput}
Полезно знать. Добавлено решение с использованием формы выше. Благодарю. – PhoebeB