Django创建模型实例-创建之前是否进行验证?在经理班?经理班做什么?

时间:2018-10-18 02:15:33

标签: django

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

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

然后在Book中,我将编写对象= BookManager()

并创建一本书。

new_book = Book.objects.create(name)?

基本上,这似乎是组织我的代码的好方法,但是我不确定这是否打算用于Manager类,而不是仅修改查询集。

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

1 个答案:

答案 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调用,在这种情况下,您也可以只返回邮件