Я новичок в Django, и Mongodb кажется действительно крутым, и у меня есть несколько вопросов!Я использую Django nonrel с Django Mongodb Engine.Надеюсь, я не сделаю слишком много ошибок:)
1) Хорошо ли работает система аутентификации пользователей Django и система сеансов Django?Потому что на allbuttonspressed.com я вижу, что есть проблема с аутентификацией и интерфейсом администратора, а часть с сторонним написанным бэкэндом аутентификации заставляет меня думать, что система аутентификации django не работает с mongodb:
Вы можете редактировать пользователей только через интерфейс администратора, если вы добавите djangotoolbox в INSTALLED_APPS.В противном случае вы получите исключение о неподдерживаемом запросе, который требует JOIN.
Флориан Хан также написал аутентификационный бэкэнд, который обеспечивает поддержку разрешений для нереляционных бэкэндов.Вам следует использовать этот бэкэнд, если вы хотите использовать систему разрешений Django.
2) Если система аутентификации работает нормально, как я могу добавить поля в модель пользователя?В документации по Django я видел, что для достижения этой цели необходимо определить модель с OnetoOnefield для пользовательской модели («user = models.OneToOneField (User)») и определить другие поля, которые мы хотим в этой модели.Я понимаю, что это должно быть правильно с базами данных SQL.Но с таким NoSQL, как mongodb, который мне просто кажется неправильным, если я не ошибаюсь, он создает новую коллекцию и вставляет в каждый документ поле пользователя, используемое для связи документа с документом в коллекции User (в точности как внешний ключ).,Это совсем не похоже на NoSQL (ну, это просто мое чувство, но, поскольку я только начинающий, я могу ошибаться, не стесняйтесь меня поправлять).Есть ли рекомендуемый способ добавить поля непосредственно в пользовательскую модель?
3) Когда модель используется в Django, она помещает все поля в документ, даже если они пусты, верно?Разве это не пустая трата времени, чтобы записать множество имен полей в документах, если они пусты?
4) Этот вопрос больше касается самого Mongodb, чем движка, но я все равно задам его вам,может иметь ответ: Сколько дополнительного места требуется для индексации поля в коллекции?
Не думал, что я написал бы так много, надеюсь, у некоторых из вас хватило смелости прочитать меня!
Заранее спасибо,
Нолхиан