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



我想在Django中做简单的Rest API。这是我在django休息的第一种方法,但目前还没有那么糟糕;(

现在我有一个模型数据库,它有两个字段brandmodel。使用Postman,我可以获取、POST和DELETE对象,非常酷。

但我一直坚持的是->当我POST一个对象时,首先我想检查具有给定brandmodel是否存在。我想在特定的网站上查看:链接。(在该网站的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