Получение данных из внешнего URL в формате JSON с помощью Django REST

Я хочу сделать простой Rest API в Django. Это мой первый подход к Rest в django, но пока все идет не так уж плохо ;)

На данный момент у меня есть модельная база данных с двумя полями brand и model. С помощью Postman я могу GET, POST и DELETE объекты, круто.

Но вот на чем я застрял, так это на -> Когда я POST объект, сначала я хочу проверить, существует ли этот model с заданным brand вообще. Я хочу проверить его на определенном сайте: link. (В URL этого сайта я могу изменить название бренда, чтобы он выдал мне список моделей с заданным брендом)

Мой подход был бы таким: когда request.method=='POST' сначала получить данные с сайта, загрузить их в модель и затем как-то сравнить их с данными в POST запросе. Но я не знаю, как до этого дойти :)

Является ли это хорошим подходом или есть способ напрямую посмотреть данные на данном сайте?

(Для меня нет необходимости приводить свой код, потому что в нем нет ничего особенного, но скажите мне, если я не прав!)

Учитывая вашу информацию, вы можете справиться с этим следующим образом:

import requests

API_URL = "https://vpic.nhtsa.dot.gov/api/vehicles/getmodelsformake/audi?format=json"
SEARCH_FOR_MODEL = "RS5"

try:
    r = requests.get(API_URL)
    models = r.json()
except:
    logging.WARNING(f"Fetch models from {API_URL} failed")

result = next(
    (model for model in models["Results"] if model["Model_Name"] == SEARCH_FOR_MODEL),
    None,
)

if not result is None:
    print(f"Model {SEARCH_FOR_MODEL} found")
else:
    print(f"Model {SEARCH_FOR_MODEL} not found")

Это основано на ссылке, которую вы предоставили для конечной точки API. Они также могут предложить функцию фильтрации для моделей. Тогда нет необходимости искать весь ответ.

Поиск значений в словаре из этого поста: https://stackoverflow.com/a/8653568/4151233

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