Django: Я не могу заставить Django автосоздать автополе
Я вызываю BORROWER.objects.create(ssn=Ssn, bname=Name, address=Address, phone=Phone)
из views.py
для создания записи в моей базе данных sqlite. Вот мой файл models.py с соответствующей функцией.
class BORROWER(models.Model):
card_id = models.AutoField(primary_key=True, max_length=7)
ssn = models.CharField(max_length=11)
bname = models.CharField(max_length=71)
address = models.CharField(max_length=79)
phone = models.CharField(max_length=15)
def __str__(self):
return str(self.card_id)
Запись в базе данных успешно создана. Однако, поскольку я не указываю значение для поля card_id
, значение остается как (<django.db.models.fields.AutoField>,)
вместо фактического ключа. Когда я пытаюсь указать значение для card_id
, появляется сообщение о неожиданном аргументе. Я неправильно вызываю функцию create?
Правка: Запятая отсутствует в исходном коде, но я попробую с предложенными правками
Уберите запятую в конце card_id
и не используйте max_length
с AutoFiled
..
class BORROWER(models.Model):
card_id = models.AutoField(primary_key=True)
ssn = models.CharField(max_length=11)
bname = models.CharField(max_length=71)
address = models.CharField(max_length=79)
phone = models.CharField(max_length=15)
def __str__(self):
return str(self.card_id)