首页 > 解决方案 > Django创建模型实例 - 创建前验证?在经理班?经理班有什么用?

问题描述

假设我有一个“书”类,我想在创建模型之前点击一个 API 来验证这本书是否存在。

我是否创建我的“BookManager”类,覆盖创建,点击 api,如果无效则抛出异常,或者如果有效则创建?

然后在书中我会写 objects = BookManager()

并创建一本书。

new_book = Book.objects.create(name)?

基本上,这感觉像是一种组织代码的好方法,但我不确定这是否适用于 Manager 类,而不是仅修改查询集。

此外,是否有人对如何构建 django rest 框架应用程序有很好的参考?文件夹结构等

标签: django

解决方案


我将从非常基础的开始。我假设您的 api 调用现在是简单的获取请求,您可以使用 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 调用,在这种情况下您也可以只返回消息


推荐阅读