gpt4 book ai didi

Django Mongodb 引擎 : Authentication, session 和用户模型

转载 作者:可可西里 更新时间:2023-11-01 09:15:57 24 4
gpt4 key购买 nike

我是 Django 的新手,Mongodb 看起来真的很酷,我有一些问题 !我将 Django nonrel 与 Django Mongodb 引擎一起使用。我希望我不会犯太多错误:)

1)Django用户认证系统和Django Session系统工作正常吗?因为我在 allbuttonspressed.com 上看到身份验证和管理界面存在问题,并且与第 3 方书面身份验证后端的部分让我觉得django 身份验证系统不适用于 mongodb :

You can only edit users in the admin interface if you add "djangotoolbox" to your INSTALLED_APPS. Otherwise you'll get an exception about an unsupported query which requires JOINs.

Florian Hahn has also written an authentication backend which provides permission support on non-relational backends. You should use that backend if you want to use Django's permission system.

2) 如果身份验证系统工作正常,我如何添加字段到用户模型?我在 Django 文档上看到以这种方式实现去是定义一个带有OnetoOnefield的模型给用户模型( "user = models.OneToOneField(User)") 并定义我们的其他字段想要那个模型。我明白这一定是使用 SQL 的正确方法数据库。但是像 mongodb 这样的 NoSQL 对我来说似乎是错误的,如果我没记错它会创建一个新集合并放入每个文档中用于将文档链接到用户中的文档的用户字段集合(完全像外键)。这似乎不是一个NoSQL 方式(好吧,这只是我的感觉,但因为我只是一个初学者我可能是错的,不要犹豫纠正我)。有没有将字段直接添加到用户模型的推荐方法?

3)在Django中使用Model时,会将所有字段放在文档即使它们是空的,对吗?这不是浪费空间吗文档中如果为空则记下很多字段名?

4) 这个问题更多的是关于 Mongodb 本身而不是引擎,但我会无论如何问它,你可能有答案:它有多少额外的空间采取索引集合中的字段?

没想到我会写这么多,我希望你们中的一些人鼓起勇气读我!

提前致谢

诺利安

最佳答案

只回答了部分问题,因为我不使用 MongoDB。

  1. 我在 Google AppEngine 项目中使用 django-nonrel。我正在使用其他自定义应用程序,如“djangotoolbox”,以及一些 GAE 后端。管理面板和标准 Django 身份验证运行良好。我怀疑 MongoDB 也是一样的(就像你提供的引文中提到的那样)

  2. 你是对的。标准方法绝对适用于关系数据库,但可能不适用于 NoSQL 数据库或效率低下。典型的场景是将数据复制到另一个表,因此您不必执行 JOIN。我认为您可以简单地子类化 User 模型并将您的字段添加到您的自定义模型 ( docs )。

关于Django Mongodb 引擎 : Authentication, session 和用户模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8038562/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com