我只是我的工作方式,通过Django的,真的喜欢它,到目前为止,但我有一个问题,我不知道什么是典型的方式来解决它。

假设我有这应该当一些复杂的Python对象更新要更新的视图,但对象不是由数据库驱动的,说这是由AJAX驱动的呼叫或由用户直接或东西。

当这段代码去?如果仍走在models.py ????

有帮助吗?

解决方案

models.py可以(有时是)空。您没有义务必须映射到数据库的模型。

您应该还是有一个models.py文件,使Django的管理快乐。该models.py文件名是很重要的,它更容易有一个空文件,而不是尝试改变各种管理命令期待的文件。

“模型” - 一般 - 不必映射到数据库中。 “模型” - 如MVC设计的一般部件 - 可以是任何

您可以 - 而且常常 - 定义自己的“模型”模块,您的看法使用。 只是不要把它models.py因为它会混淆Django管理拨打其具有实际意义的应用程序:foo.py。这foo.py操纵,巩固您的应用程序真正的东西 - 不一定是Django的Model.model子类

Django的MVC不需要数据库映射。 它明确地预期该模块命名models.py中有一个数据库映射。所以,如果你有没有实际的数据库映射使用空models.py

views.py可以使用

import foo

def index( request ):
    objects = foo.somelistofobjects()
    *etc.*

Django的让您轻松,没有数据库映射工作。您的模型可以很容易地事情。只是不要把它models.py


修改即可。

与模型注册的看法?否。

在更新由控制器模型视图得到通知?否。

是模型严格的数据respresentation,因为这是真正的MVP?是。

读取Django文档。这很简单。

网页请求 - > URL映射 - >查看功能 - >模板 - >响应

该模型可以由视图函数一起使用。该模型可以是数据库映射,或者它可以是任何其他的事情。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top