Вы можете создать пользовательский ModelAdmin
и поместить туда свою логику, поэтому, если вы отредактируете свой admin.py
для приложения, в котором ваша модель About
будет выглядеть примерно так:
from django.contrib import admin
from django.http import HttpResponseRedirect
from django.shortcuts import reverse
from django.contrib import messages
from .models import About
class AboutAdmin(admin.ModelAdmin):
def add_view(self, request, form_url='', extra_context=None):
if self.model.objects.count() >= 2:
self.message_user(request, 'Only two entries can exist at once - please remove others first', messages.ERROR)
return HttpResponseRedirect(reverse(f'admin:{self.model._meta.app_label}_about_changelist'))
return super().add_view(request, form_url, extra_context)
admin.site.register(About, AboutAdmin)
Это должно сработать ...