Администратор Django подсчитывает количество строк перед добавлением новых данных в режиме StackedInline

В моем проекте django у меня есть модель, связанная с основной моделью, как эта:

class Device_Docs(models.Model):
    id = models.AutoField(primary_key=True)
    master_id = models.ForeignKey(Device, on_delete=models.CASCADE)
    device_file = models.FileField(upload_to='uploads/', validators=[FileExtensionValidator(['pdf', 'jpg', 'txt', 'png', 'jpeg']), validate_fsize], verbose_name="Select File", help_text='Allowed formats are PDF, JPG, JPEG, TXT, PNG, max size 3Mb')
    title = models.CharField(max_length=250, help_text='Document title')
    description = models.TextField(default='', verbose_name="Descrizione", null=True, blank=True)
    load_data = models.DateField(default=datetime.now(roma).strftime("%Y-%m-%d %H:%M:%S.%f"), verbose_name="Load data")
    owner = models.ForeignKey('accounts.CustomUser', related_name='odevdocs', on_delete=models.CASCADE)
 ...

Теперь я хочу показать в админке, для модели Device (основной модели), используя опцию StackedInline, данные обеих моделей:

class DocsInline(admin.StackedInline):
    model = Device_Docs
    extra = 1

@admin.register(Device)
class DeviceModelAdmin(admin.ModelAdmin):

    list_display = ('mac_id', 'short_name', 'proj_type', 'polling_interval', 'active', 'autoupdate', 'save_date')
    list_filter = ('polling_interval','proj_type', 'active', 'autoupdate')
    search_fields = ('short_name', 'save_date' )
    ordering = ('-save_date', 'mac_id')

    readonly_fields = ('mac_id', )

    inlines = [PortinInline, DocsInline]

    def has_delete_permission(self, request, obj=None):
        return False

    def get_form(self, request, obj=None, **kwargs):
        self.exclude = ("owner", "save_date")
        form = super(DeviceModelAdmin, self).get_form(request, obj, **kwargs)
        return form

Ok все работает хорошо, теперь мой вопрос в том, как я могу контролировать количество уже введенных строк о Device_Docs данных перед сохранением? Например, я хочу заблокировать возможность вставки данных, если в модели есть более 5 записей с одинаковым полем master_id. Как я могу этого добиться?

Заранее большое спасибо

Вернуться на верх