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