Django admin: Редактирование записей с уникальными полями не работает
Python 3.9, Django 3.2, база данных - PostgreSQL, размещенная на ElephantSQL.
У меня есть модель, с полем slug, которое я установил уникальным:
class website_category(models.Model):
fld1 = models.CharField(primary_key=True, max_length=8)
fld2 = models.TextField()
fld3 = models.SlugField(unique=True, db_index=True, max_length=100)
Я могу создавать новые записи для этой модели без каких-либо проблем. Однако, когда я пытаюсь редактировать уже существующую запись через интерфейс администратора Django (например, изменить текстовое поле - fld2), Django выдает эту ошибку:
веб-сайт_категории с таким fld3 уже существует
Я могу удалить указанную запись и снова ввести измененную без каких-либо проблем. Я могу редактировать запись, если я изменяю поле slug, но не иначе.
Мое предположение, что это происходит из-за установки "unique=True" в поле slug (fld3). Однако, я хочу, чтобы slug были уникальными.
Является ли это ожидаемым поведением Django или я могу сделать что-то, что позволит мне редактировать записи напрямую, без необходимости удалять и создавать их заново?