使用 Django REST 从外部 URL 以 JSON 格式获取数据

Get data from external URL in JSON format with Django REST

我想在 Django 中做简单的 Rest API。这是我在 django 中进行 Rest 的第一种方法,但现在还不错 ;)

现在我有一个包含两个字段 brandmodel 的模型数据库。使用 Postman,我可以 GET、POST 和 DELETE 对象,很酷。

但我坚持的是 -> 当我 POST 一个对象时,首先我想检查给定 brandmodel 是否存在。我想在特定网站上查看: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 端点提供的 link。他们还可能为模型提供过滤功能。那么就没有必要搜索整个响应了。

正在从此 post 的字典中搜索值: