Django Admin показывает несколько экземпляров для одного и того же первичного ключа

Я борюсь со странной проблемой в Django (4.0.7), когда несколько экземпляров для одного и того же первичного ключа отображаются в Django Admin, а также при выполнении запросов. Я отобразил первичные ключи, чтобы было понятно, что они идентичны:

enter image description here

Два задействованных класса - Collection и Card, где каждая карточка имеет внешний ключ к коллекции.

class Collection(models.Model):
    FREQUENCY_CHOICES = [('never', 'Never'), ('less', 'Less'), ('normal', 'Normal'), ('more', 'More')]
    title = models.CharField(max_length=200)
    author = models.CharField(max_length=200, blank=True, null=True)
    user = models.ForeignKey(User, related_name='collections', on_delete=models.CASCADE)
    type = models.CharField(max_length=10, choices=(('books', 'Books'), ('tweets', 'Tweets'), ('articles', 'Articles'), ('podcasts', 'Podcasts')))
    custom_id = models.CharField(max_length=200, blank=True, null=True)  # e.g. raindropref, amazon book id, etc.
    url = models.URLField(blank=True, null=True)
    tags = TaggableManager(blank=True)
    connection = models.ForeignKey(Connection, related_name='collections', null=True, blank=True, on_delete=models.SET_NULL)
    frequency = models.CharField(max_length=10, choices=FREQUENCY_CHOICES, default='normal')
class Card(models.Model):
    text = models.TextField()
    collection = models.ForeignKey(Collection, related_name='cards', on_delete=models.CASCADE, blank=True)
    custom_id = models.CharField(max_length=200, null=True, blank=True)
    author = models.CharField(max_length=200, null=True, blank=True)
    url = models.URLField(blank=True, null=True)
    created_at = models.DateTimeField(default=timezone.now)
    favorite = models.BooleanField(default=False)
    tags = TaggableManager(blank=True)
    notes = models.TextField(blank=True, null=True)
    location = models.IntegerField(blank=True, null=True)

Я не могу понять, в чем может быть проблема. Я уже настроил базу данных с нуля, но безуспешно.

Вот пример запроса к базе данных:

for c in Collection.objects.all():
    print(c.pk, c.id)

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