Django Admin Удаление всех записей Плохой запрос [400] - PullRequest
0 голосов
/ 30 апреля 2019

Я пытаюсь удалить несколько записей в Django Admin.Если я выбираю страницу из 1000 строк и удаляю ее, я получаю ошибку Bad Request [400].

Неверный запрос (400)

Работает удаление строк по отдельности.

Это происходит только в производстве.Я не решаюсь включить отладку в True.

Объекты модели, которые я пытаюсь удалить:

class Case(models.Model):
    caseId = models.AutoField(primary_key=True)
    dataCheckContactId = models.ForeignKey(DataCheckContact, on_delete=models.DO_NOTHING , related_name="dchk")
    caseDteProg = models.DateTimeField(null=True, blank=True)
    caseIntComplete = models.IntegerField(null = True, blank = True, default = 0)
    caseDteStart = models.DateTimeField(null=True, blank=True)
    caseType = models.CharField(null = True, max_length = 36, blank=True)
    caseInputJSON = models.TextField(null = True, blank=True) # data prior to submission
    caseReturnJSON = models.TextField(null = True, blank=True) #submission data
    caseIntStatus = models.IntegerField(null = True, blank = True, default = 0) 
    caseBPMUuid = models.CharField(null = True, max_length = 36, blank=True)

    def __str__(self):
        return self.caseBPMUuid

Превращает ли отладка в True только способ просмотра сообщений об ошибках?

Спасибо

Редактировать 1. Использование Apache2 в качестве веб-сервера.Возможный размер запроса узкое место?Каждая строка занимает около 20 КБ, если вставить ее в текстовый файл.

Ответы [ 2 ]

0 голосов
/ 30 апреля 2019

В Django есть значение по умолчанию , касающееся количества параметров, которые могут быть отправлены в одном запросе (как POST, так и GET), для которого по умолчанию установлено значение 1000.

Поэтому, если вы хотите иметь возможность отправлять более 1000 параметров одновременно, измените settings.DATA_UPLOAD_MAX_NUMBER_FIELDS на более высокое значение.

Или просто не изменяйте столько строк одновременно, используйте для этого настраиваемое действие или массовую команду.

Кроме того, когда это происходит, возникает ошибка и регистрируется (при условии, что вы правильно настроили запись в журнал). Поэтому проверка ваших журналов Django на вашем сервере позволила бы вам увидеть это как SuspiciousOperation исключение.

0 голосов
/ 30 апреля 2019

Я подозреваю, что ваш веб-сервер достиг предела размера запроса. Вы можете попробовать меньше строк, чтобы закрепить это. 500, 100, 2? В зависимости от вашего сервера будет возможность увеличить максимальный размер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...