имя ‘IntegrityError’ не определено — почему я не могу использовать ‘except: IntegrityError’ в этом скрипте?

#python #django #exception #model

#python #django #исключение #Модель

Вопрос:

Я запускаю скрипт из приложения django в самом корне папки app_name; как в app_name> app_name .

В верхней части скрипта у меня есть это:

 import os
import sys
os.environ.setdefault('DJANGO_SETTINGS_MODULE','versal.settings')
import django
django.setup()
 

Я пытаюсь обработать ошибку целостности — мои пули должны быть уникальными, поэтому, когда один из них не уникален, я хочу обработать ошибку целостности, добавив ‘1’ к пуле.

         try:
            podcast_instance.slug = slugify(parsed_podcast.title)
            podcast_instance.save()
            podcast_saves  = 1
        except IntegrityError:
            podcast_instance.slug = slugify(parsed_podcast.title   '1')
            podcast_instance.save()
            podcast_saves  = 1
 

Когда я запускаю этот код, я получаю следующее:

 Traceback (most recent call last):
  File "podcasts.py", line 166, in <module>
    podcasty()
  File "podcasts.py", line 159, in podcasty
    submit(podcast_objects,podcast_rss)
  File "podcasts.py", line 73, in submit
    except IntegrityError as e:
NameError: name 'IntegrityError' is not defined
 

Ответ №1:

Вам нужно импортировать его перед использованием.

 from django.db import IntegrityError