UniqueConstraint выбрасывает IntegrityError на удаленную строку

У меня есть модель с UniqueContraint

class UserChallenge(models.Model):
    id = models.UUIDField(primary_key=True, null=False, default=uuid.uuid4)
    member = models.ForeignKey('people.Person',
                               on_delete=models.PROTECT,
                               related_name='challenges',
                               null=False)
    challenge = models.ForeignKey(Challenge,
                                  on_delete=models.PROTECT,
                                  related_name='user_challenges',
                                  null=False)
    recurring = models.BooleanField(default=False)


    class Meta:
        constraints = [
            models.UniqueConstraint(fields=['member', 'challenge'],
                                    condition=Q(recurring=False),
                                    name='unique_member_and_challenge')
        ]

Этим я хочу предотвратить появление дубликатов строк с одинаковыми challenge и member, и это работает нормально. Однако, когда я пытаюсь создать UserChallenge после удаления одного существующего, он по-прежнему выбрасывает IntegrityError. Я имею в виду, что я удалил строку UserChallenge с определенными member и challenge, и когда я пытаюсь добавить новую запись с этими данными, она все еще выдает ошибку.

В чем здесь может быть проблема?

Вернуться на верх