имя 'IntegrityError' не определено - почему я не могу использовать 'кроме: IntegrityError' в этом сценарии? - PullRequest
0 голосов
/ 18 апреля 2019

Я запускаю скрипт из приложения 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 Ответ

4 голосов
/ 18 апреля 2019

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

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