说我有一个“ Book”类,我想在创建模型之前点击一个API来验证这本书是否存在。
我是否创建我的“ BookManager”类,覆盖create,点击api并抛出异常(如果无效)或create(如果有效)?
然后在Book中,我将编写对象= BookManager()
并创建一本书。
new_book = Book.objects.create(name)?
基本上,这似乎是组织我的代码的好方法,但是我不确定这是否打算用于Manager类,而不是仅修改查询集。
此外,有人对如何构建django rest框架应用程序有很好的参考吗?文件夹结构等
答案 0 :(得分:0)
我将从最基本的内容开始。我假设您的api调用现在是简单的get请求,您可以使用python http包来实现。
(我现在假设该api是第三方api)
您可以定义一个简单的视图,假设视图名称为:bookM 接下来,使用主键,book_name,other_attrs,日期
定义模型现在,当您在此视图中点击api时,就可以从get请求获得响应
requests.get(url = URL, params = PARAMS)
使用此方法,如果您发现以一些文本或null返回的响应,则可以对模型进行以下操作:
book= BookSave(
name = "book1",
)
book.save()
如果不是这种情况,则可以将错误消息保存在python变量中,并在呈现html时显示
您可以将此视图用作api并从网页进行ajax调用,在这种情况下,您也可以只返回邮件