Как запретить админу редактировать поле Django
Есть такая модель в models.py:
class Test(models.Model):
name = models.CharField(max_length=256)
date_started = models.DateField(default=datetime.now)
date_ended = models.DateField(null=True)
description = models.TextField(max_length=512)
Эта модель регистрируется в admin.py:
from .models import Test
admin.site.register(Test)
И мне надо сделать так, чтобы в админке можно было добавлять объекты для Test и выбирать что угодно, но нельзя было редактировать поле date_started после того как объект уже был создан. То есть, можно выбрать дату при создании, но нельзя редактировать после. Как это сделать?
Ответы (2 шт):
Автор решения: Умидбек Усмонов
→ Ссылка
Вы можете сделать только для чтения в примере админ не может изменить "date_started"
class TestInline(admin.TabularInline):
model = Test
exclude = ['name']
readonly_fields=('date_started', )
Автор решения: Blazzerrr
→ Ссылка
Проблему решил так:
admin.py
from .models import Test
class TestAdmin(admin.ModelAdmin):
readonly_fields = ('date_started',)
admin.site.register(Test, TestAdmin)