Использование двух моделей для формы в Django - PullRequest
2 голосов
/ 05 марта 2010

Я столкнулся с проблемой использования двух моделей для моей формы в Django.У меня есть две модели, Животное и Семья, обе с полем «имя».

Я использую две формы модели в своем шаблоне для своей формы, и когда она отправляется, данные POST для 'name' возвращают только одно значение.

Если не считать переименования поля 'name' в моих моделях, есть ли способ обойти это?

Спасибо за вашу помощь.Это мой первый пост здесь.

Ответы [ 2 ]

3 голосов
/ 05 марта 2010

Вы можете использовать префиксный аргумент при инициализации форм модели;

animal_form = AnimalForm(request.POST or None, prefix="animal")
family_form = FamilyForm(request.POST or None, prefix="family")

, который выдаст что-то вроде;

<input id="id_animal-name" type="text" />
<input id="id_family-name" type="text" />
0 голосов
/ 05 марта 2010

Вы можете получить различные значения POST, которые находятся под тем же именем, с помощью request.POST.getlist .

Однако правильное значение будет зависеть от положения поля ввода в форме (я полагаю), и это не может быть хорошей идеей. Измените имя поля не в модели, а в своем классе формы (надеюсь, вы его используете).

...