Ошибка IntegrityError в / likes / 9 / FOREIGN KEY не выполнена - PullRequest
0 голосов
/ 06 ноября 2018

Я хотел создать функции «Мне нравится», однако он работает только при 0

Ошибка IntegrityError в / likes / 8 / FOREIGN KEY не выполнена Во время обработка вышеупомянутого исключения (Как и соответствующий запрос не существует.), произошло другое исключение:

Файл "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/db/backends/base/base.py" в _commit 239. return self.connection.commit ()

Вышеуказанное исключение (ограничение FOREIGN KEY не выполнено) было прямым причина следующего исключения:

Файл "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/core/handlers/exception.py" во внутреннем 34. response = get_response (запрос)

Файл "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/core/handlers/base.py" в _get_response 126. response = self.process_exception_by_middleware (e, request)

Файл "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/core/handlers/base.py" в _get_response 124. response = wrapped_callback (запрос, * callback_args, ** callback_kwargs)

Файл "/Users/mingselene/Documents/GitHub/network/feedback/views.py" в нравится 42. new_like, созданный = Like.objects.get_or_create (пользователь = request.user, post_id = post_id)

Файл "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/db/models/manager.py" в manager_method 82. вернуть getattr (self.get_queryset (), name) (* args, ** kwargs)

Файл "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/db/models/query.py" в get_or_create 488. вернуть self._create_object_from_params (lookup, params)

Файл "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/db/models/query.py" в _create_object_from_params 530. Поднять е

Файл "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/db/models/query.py" в _create_object_from_params 522. obj = self.create (** params)

Файл "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/db/transaction.py" в выход 212. connection.commit ()

Файл "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/db/backends/base/base.py" в коммите 261. self._commit ()

Файл "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/db/backends/base/base.py" в _commit 239. return self.connection.commit ()

Файл "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/db/utils.py" в выход 89. повысить dj_exc_value.with_traceback (traceback) из exc_value

Файл "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/db/backends/base/base.py" в _commit 239. return self.connection.commit ()

Тип исключения: IntegrityError at / likes / 8 / Значение исключения: FOREIGN Ключевое ограничение не выполнено

Я не могу понять, почему это происходит, и сообщения stackoverflow были неэффективны.

views.py:
def likes(request, post_id):
    post = Post.objects.get(id = post_id)
    new_like, created = Like.objects.get_or_create(user=request.user, post_id=post_id)
    if not created:
        post.numOfLike -= 1
        like = Like.objects.get(user=request.user, post_id=post_id)
        like.delete()
        created = True
    else:
        post.numOfLike += 1
    post.save(update_fields=['numOfLike'])
    return HttpResponseRedirect("/")

models.py:
    class Like(models.Model):
        post = models.ForeignKey('feedback.Subject', default=1, on_delete=models.CASCADE)
        user = models.ForeignKey(User, default=1, on_delete=models.CASCADE,)
        isUserLiked = models.DateTimeField(auto_now_add=True)"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...