Get_or_create или валидация формы, а затем создание?
Я знаю, что это несколько распространенная вещь, но я пытаюсь понять, как заставить ее работать из примеров.
Я хочу иметь форму, в которой пользователь вводит ID объекта (подобно ISBN для книги). Я хочу проверить, существует ли этот объект в базе данных, если нет, я хочу создать запись на основе некоторой информации, которую я получу из скрипта, используя этот ID.
Кажется, что я могу пойти двумя путями. Я могу использовать get_or_create, или я могу сделать это с очищенными данными в форме, а затем создать.
def form_valid(self, form):
#Can I call a script here and populate the object with that data? How do I get what the user wrote in the form?
self.object = form.save(commit=False)
self.object.user = self.request.user
self.object.save()
return HttpResponseRedirect(self.get_success_url())
Другой альтернативой было бы использование get_or_create, где мне это определить? В представлении?
Я не смог заставить работать ни один из них, но я думаю, что у меня есть некоторое базовое непонимание того, как они работают. Каков наилучший способ продвижения вперед?