Понятия не имею, что в вашем случае означает "Запрос соответствия статьи не существует", но обычно Django ORM выбрасывает исключение DoesNotExist, если в БД не нашлось нужных данных.
Неправильно поняли. Мета-атрибут unique_together приводит к созданию в БД составного индекса с ограничением уникальности на указанные поля. В результате чего в таблицы невозможно создать более одной строки с одинаковыми значениями колонок, входящих в индекс.
Подозреваю, что вы LimitedImageField используете в форме, а не в модели. У форм валидация делается несколько иначе, что подробно описано в документации.
P.S. Для меня огромная загадка, что мешало вам нормально сформулировать вопрос "Как проверить длину и высоту загружаемого изображения?" Вы в жизни тоже так вопросы задаёте?
Во-первых, это делается не так. Во-вторых, сама потребность в переменных внутри шаблона может быть сигналом, что у вас логика просочилась в презентационный слой, а это неправильно.
Во-первых, React может использоваться для SPA, но не каждый фронт на реакте - это SPA. Во-вторых, если у вас на бэкенде REST API, то фронт на реакте видится хорошим вариантом.
Вы получаете QuerySet. Это не список, а ленивая последовательность. Правильный способ отправки его на фронт - это не "распаковки", а сериализация в JSON.