Проверка наличия данных в базе данных и повторный запрос к стороннему API

Я использую Django Rest Framework для следующей задачи (напишу подробно, чтобы все было понятно):

  1. Сервис должен реализовать REST API, который принимает POST-запросы в качестве входных данных с содержимым типа {"questions_num": integer} .

Этот пункт выполнен.

  1. После получения запроса, сервис, в свою очередь, запрашивает количество вопросов, указанных в полученном запросе, из публичного API (английские вопросы для викторин) https://jservice.io/api/random?count=questions_num.

Это также сделано.

  1. Далее полученные ответы должны быть сохранены в полях базы данных (или Postgres или Sqlite) из теста: 1. ID вопроса, 2. Текст вопроса, 3. Текст ответа, 4. - Дата создания вопроса.

Это также сделано.

  1. И не понятно, как нормально сделать следующий момент:

В случае, если в базе данных есть одинаковый вопрос, необходимо сделать дополнительные запросы к публичному API с викторинами, пока не будет получен уникальный вопрос для викторины.

Получился костыль, а хотелось бы, чтобы он был красивым или хотя бы нормальным.

Подскажите, как это реализовать?

Заранее спасибо.

Я нашел, как решить эту проблему самостоятельно:

User.objects.filter(id__in=[1, 5, 34, 567, 229])

print _.query
SELECT <fields> FROM "auth_user" WHERE "auth_user"."id" IN (1, 5, 34, 567, 229)

В моем случае произошло следующее:

Question.objects.filter(id_question__in=id_question).count()

Пожалуйста, покажите весь код, чтобы можно было увидеть полную картину

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