Новые атрибуты не отображаются в панели администратора django

Раньше я использовал свой проект с sqlite. Затем начал новый проект, скопировал данные из предыдущего проекта и сделал некоторые изменения, и теперь использую его с mysql.

Вот мой models.py (не полный)

from django.db import models
from django.db.models import CheckConstraint, Q, F

class College(models.Model):
    CITY_CHOICES=[('BAN','Bangalore')]
    id=models.IntegerField(primary_key=True)
    name=models.CharField(max_length=50)
    city=models.CharField(choices=CITY_CHOICES,default='BAN',max_length=10)
    fest_nos=models.IntegerField()
    image=models.ImageField(default='default.jpg',upload_to='college_pics')

    class Meta():
        db_table='college'

    def __str__(self):
        return self.name

class Organizer(models.Model):
    id=models.IntegerField(primary_key=True)
    name=models.CharField(max_length=25)
    phone=models.IntegerField()
    def __str__(self):
        return self.name

class Fest(models.Model):
    FEST_CHOICES=[
        ('CUL','Cultural'),
        ('TEC','Technical'),
        ('COL','College'),
        ('SPO','Sports'),
    ]
    id=models.IntegerField(primary_key=True)
    name=models.CharField(max_length=50)
    clg_id=models.ForeignKey(College,on_delete=models.CASCADE)
    fest_type=models.CharField(choices=FEST_CHOICES,default='COL',max_length=10)
    fest_desc=models.TextField(default='This is a fest')
#below two field are not showing up in admin page
    start_date=models.DateField(auto_now_add=True)
    end_date=models.DateField(auto_now_add=True)
    event_nos=models.IntegerField()
    org_id=models.ManyToManyField(Organizer)
    image=models.ImageField(default='default.jpg',upload_to='fest_pics')
    
    class Meta:
        constraints = [
            CheckConstraint(
                check = Q(end_date__gte=F('start_date')), 
                name = 'check_start_date',
            )
        ]
        db_table='fest'

    def __str__(self):
        return self.name

Атрибуты start_date и end_date - это новые атрибуты, добавленные в этом проекте. В старом проекте их не было. Мой файл admin.py

from django.contrib import admin
from .models import College, Event, Fest, Organizer, Participated

admin.site.register(College)
admin.site.register(Organizer)
admin.site.register(Fest)
admin.site.register(Event)
admin.site.register(Participated)

Но в моей панели администратора, при добавлении новых фестивалей, у меня нет возможности добавить дату начала и окончания.

Я снова сделал миграции, фальшивые миграции и т.д. Что делать? Является ли проверка ограничений в model fest причиной этой проблемы?

Эти поля не будут отображаться в Django Admin, потому что они имеют auto_now_add=True, поэтому пользователь не должен их трогать.

Вы можете заставить поле auto_now_add отображаться в админке, используя readonly_fields в классе админки (это только показывает данные, вы все равно не можете редактировать его, потому что это auto_now_add)

#register with a class to use
class FestAdmin(admin.ModelAdmin):
    readonly_fields = ('start_date', 'end_date')

admin.site.register(Fest, FestAdmin)
Вернуться на верх