【问题标题】:Django nonrel ModelsDjango 非相关模型
【发布时间】:2012-06-04 11:13:58
【问题描述】:

我一直在查看有关 django nonrel 的文档,但认为我自己搞糊涂了。

我有一个项目,使用在http://www.allbuttonspressed.com/projects/djangoappengine#installation 找到的设置说明,并继续设置 django 应用程序。我正在制作一个简单的新闻提要。现在已经开始创建模型了,但似乎有两种方法可以做到这一点,使用 models.Model 或 db.Model。

models.Model 是 django 的做法,如果我使用它创建模型,它似乎使用 nosql,这也允许我使用内置的管理员。

db.Models 是非相关的做事方式。如果我使用它创建模型似乎再次使用 nosql 但这种方法不允许我使用 django 管理员。我认为 django non-rel 的目的是让我使用 admin 和 django 中的大部分默认功能。

我还想问一下应用引擎上的django non-rel和pure django有什么区别,这对模型的创建方式有什么影响?

【问题讨论】:

    标签: django google-app-engine django-nonrel


    【解决方案1】:

    这是不正确的:

    db.Models 是非 rel 的做事方式

    你是从哪里得到这个想法的? db.ModelsAppEngine 的做事方式。 django-nonrel 允许您使用 Django 方式,即使您使用的是 AppEngine。正如您所说,django-nonrel 的目的是允许您使用管理员等,为此您需要以 Django 方式进行操作,即models.Model

    【讨论】:

    • 所以使用 django-non-rel 我可以做 models.CharField(max_length=50),并以这种方式查询:News.objects.get(title='first-news-article')跨度>
    • 那么,如果 non-rel 可以完成 djangoappengine 所做的一切,那么将 djangoappengine 与 django nonrel 一起使用有什么意义呢? djangoappengine 是否也与内置的 django admin 集成?
    • 什么? djangoappengine 是 django-nonrel 的插件,将其应用于 AppEngine。你不能单独使用任何一个。
    • 伙计,我对这一切感到非常困惑,我显然错过了一些重要的事情。我认为让我感到困惑的是看到使用包含 StringProperty 的模型的教程,但是人们说你不能使用管理员。 StringProperty() 是不是真的映射到 CharField()?
    • 我不知道你有什么困惑。 db.StringProperty 与 db.Model 一样,来自标准 AppEngine db 库。这些与管理员不兼容。 django-nonrel + djangoappengine 将这些替换为 Django 版本:models.CharField 和 models.Model。这些可以与管理员一起使用。
    猜你喜欢
    • 2012-10-15
    • 2011-08-02
    • 2020-10-22
    • 2018-09-13
    • 2022-01-13
    • 1970-01-01
    • 2017-06-22
    • 2021-05-29
    • 1970-01-01
    相关资源
    最近更新 更多