Как проверить создание объекта в Django? - PullRequest
0 голосов
/ 22 мая 2010

Я хочу убедиться, что созданный мной объект действительно был создан, и вернуть True или False в соответствии с этим:

obj = object(name='plop')
try:
 obj.save()
 return True
except ???:
  return False

Как проверить создание объекта?

Ответы [ 2 ]

2 голосов
/ 22 мая 2010

Прежде всего - это плохая практика, которую вы делаете

2-ой единственный случай, когда может произойти исключение, это сбой соединения с базой данных или некоторые ограничения или обязательные обязательные поля не установлены .. в этом случае db-backend.OperationalError повышается

Обновление: при сбое ограничений возникает исключение IntegrityError

1 голос
/ 23 мая 2010

save () также может вызывать другие исключения, такие как ValidationError в django 1.2 или любое произвольное исключение, если метод save () был переопределен.

Я не вижу ничего особенно неправильного в попытке сохранить () и перехватить исключение. Если по какой-то причине вы предпочитаете проверять логическое возвращаемое значение, а не просто перехватывать исключение (обычно не так, как это делается в python), то у вас есть правильная идея. Просто измените, кроме ???: исключая исключение:

В конце концов вы хотите вернуть False при любом ожидаемом сбое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...