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

Създадох модел, наречен Student, и го добавих към Django admin и го мигрирах. Нямаше проблем с миграцията. Когато се опитах да добавя нов ученик чрез страницата на администриране, получавам само следните полета. Как мога да получа целочислени полета като възраст в потребителския интерфейс? въведете описание на изображението тук


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