Как заставить Django вставить значение ID в поле, которое я указываю (модели, взятые из существующей БД)?
Контекст:
У меня есть уже существующая база данных, которую я не должен изменять. Я использовал manage.py inspectdb
и вытащил нужные мне модели в webapi/models.py.
У меня следующая модель:
class Clerk(models.Model):
clientid = models.BigAutoField(db_column='clientId', primary_key=True)
clerkname = models.CharField(db_column='clerkName', max_length=30)
...
class Meta:
managed = False
db_table = 'Clerks'
Я не уверен, нужно ли мне показывать больше кода для целей этого теста, но мне кажется, что я должен быть в состоянии просто создать экземпляр и увидеть, что ему был присвоен идентификатор.
Однако, как показано ниже, id не присваивается. Я также включил некоторые меры по устранению неполадок, которые я предпринял
>>> from chokowebapi.models import Clerk
>>> Clerk.objects.all()
<QuerySet []>
>>> clerk = Clerk(clerkname="hi")
>>> clerk.clientid
Дополнительное устранение неполадок (продолжение приведенного выше фрагмента)
Я пробовал изменить clientid на models.IntegerField, и я также пробовал изменить managed на True в классе Meta.
Насколько я знаю, primary_key=True должно позволить django знать, что нужно увеличивать это поле в новых экземплярах. Что я могу упустить?