Django Поля только для чтения, если есть какое-либо значение

Я написал этот код, чтобы сделать поле только для чтения, но я хочу сделать исключение, что если есть значение, то эта строка будет только для чтения, а если нет никакого значения, то она будет редактируемой,

admin.py

def get_readonly_fields(self, request, obj=None):
  if obj:
     return self.readonly_fields + ("name", "id")
  return self.readonly_fields

Это пример того, как можно сделать два из трех полей readonly в панели администратора

models.py

class Example_model(models.Model):
    examlpe_field_1 = models.CharField(max_length=1000)
    examlpe_field_2 = models.CharField(max_length=1000)
    examlpe_field_3 = models.CharField(max_length=1000)
    
    def __str__(self):
        return self.pk

в admin.py

from django.contrib import admin
from . models import Example_model

class Example_admin(admin.ModelAdmin):
    readonly_fields = ['examlpe_field_1', 'examlpe_field_2']

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