Поле id, которое не является первичным ключом в django django model

Возможно ли в django создать поле id в модели, которое не является primary_key? Если да, то как это сделать? Чтобы было понятнее, вот моя модель:

class GWS(models.Model):
    id = models.CharField(max_length=20,primary_key=False)
    ...

Что я могу сделать, чтобы поле id не было первичным ключом?

api.GWS: (models.E004) 'id' can only be used as a field name if the field also sets 'primary_key=True'

Можно ли в django создать поле id в модели, которое не является primary_key?

Да, но тогда вам нужно указать другое поле, которое является первичным ключом, например, поле UUIDField [Django-doc]:

from uuid import uuid4

class GWS(models.Model):
    id = models.CharField(max_length=20)
    uuid = models.UUIDField(primary_key=True, editable=False, default=uuid4)
    # …
Вернуться на верх