@DennyD314

Как изменить данные формы после ее отправки?

Всем привет!
Вопрос заключается в следующем:
У меня есть модель, имеющая ForeignKey к другой модели.
Есть ModelForm, связанная с этой моделью.
При заполнении формы я использую динамический поиск по полю "название" родительской модели и предлагаю варианты для заполнения. Выбираю вариант и отправляю POST запросом данные. Но в результате is_valid формы возвращает False , так как в поле ForeignKey получил не id экземпляра родительской модели, а наименование.
Пробовал переписать is_valid таким образом:
def is_valid(self):
        valid = super(AddAdForm, self).is_valid()
        if valid:
            return True
        else:
            if len(self.errors) == 1 and self.errors['game']:
                game = self.data['game']
                try:
                    game_id = Game.objects.get(name=game)
                except Exception:
                    return False
                else:
                    return True


Но получаю ошибку The Model could not be created because the data didn't validate.

Пробовал перед вызовом is_valid() родителя производить поиск по имени и присваивать self.data['game'] id, но получил ошибку что OrderDict неизменяем.
Также нельзя изменить параметры request.POST

Наверняка , я копаю абсолютно не в ту сторону и выход из ситуации значительно проще и легче.
  • Вопрос задан
  • 86 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы