Всем привет!
Вопрос заключается в следующем:
У меня есть модель, имеющая 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
Наверняка , я копаю абсолютно не в ту сторону и выход из ситуации значительно проще и легче.