Модель Django для администратора, целочисленные поля и текстовое поле не отображаются в разделе администратора

class Student(models.Model):
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=30)
    father_name = models.CharField(max_length=60)
    age = models.SmallIntegerField
    created = models.DateTimeField(auto_now=False, auto_now_add=True)
    modified = models.DateTimeField(auto_now=True, auto_now_add=False)
    address = models.TextField
    email = models.EmailField(default="")
    id = models.AutoField
    std = models.SmallIntegerField
    remarks = models.TextField

Я создал модель под названием «Студент», добавил ее в административную панель Django и перенес. Проблем с миграцией не было. Когда я пытался добавить нового ученика через страницу администратора, я получаю только следующие поля. Как я могу получить целочисленные поля, такие как возраст, в пользовательском интерфейсе? введите здесь описание изображения


person Codex    schedule 29.06.2018    source источник
comment
Должно быть age = models.SmallIntegerField(). Обратите внимание на знаки (). Просто добавьте его для всех полей и запустите makemigrations/migrate.   -  person neverwalkaloner    schedule 29.06.2018


Ответы (1)


Если вы хотите создать поля в модели django (которые эквивалентны столбцам в таблице), вам нужно вызвать функцию этого конкретного поля.

Здесь вы имеете в виду только конкретную функцию, а не вызываете ее.

Таким образом, решение:

class Student(models.Model):
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=30)
    father_name = models.CharField(max_length=60)
    age = models.SmallIntegerField()
    created = models.DateTimeField(auto_now=False, auto_now_add=True)
    modified = models.DateTimeField(auto_now=True, auto_now_add=False)
    address = models.TextField()
    email = models.EmailField(default="")
    id = models.AutoField()
    std = models.SmallIntegerField()
    remarks = models.TextField()
person Sparsh Shrivastava    schedule 29.06.2018