Пишу сайт и хочу сделать редактируемым его описание, которое будет выводиться на главной странице через панель администратора. Как мне разрешить только одну запись в базе данных?
Зависит от того, как реализован у вас класс пользователя.
Идея будет заключаться в том, чтобы в базу добавить новый атрибут, по которому можно судить, был ли изменен каким-либо пользователем заголовок сайта ранее.
Этот атрибут нужно вычитывать в классе пользователя, если заголовок был изменен ранее, то ему давать свойство read only. Если нет, то делать доступным для редактирования. Если принимаем отредактированный заголовок, то выставляем наш волшебный атрибут в состояние, что отредактировали заголовок - далее, у заголовка будет read only состояние.
def save(self, *args, **kwargs):
if not self.pk and КлассМодели.objects.exists():
raise ValidationError('Можно создать только одну запись а базе')
return super(КлассМодели, self).save(*args, **kwargs)