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)