2016-02-06 6 views
0

У меня есть проект Django для записи личных расходов и сохранения личного бюджета. Я создал необходимые модели для проекта и авторизацию с помощью Django. Однако идея состоит в том, что каждый аутентичный пользователь должен хранить собственные записи расходов, поэтому требуется, вероятно, отдельная база данных. Я изучил документацию Django и, похоже, не отвечал на это. Вероятно, нет необходимости настраивать другую базу данных, но создавать уникальные поля моделей, унаследованные от по умолчанию пользовательских полей администратора, и хранить данные для каждого пользователя в единой базе данных. Просьба проконсультироваться с правильным подходом для этой задачи.Django настройка базы данных для разных пользователей

+1

Почему бы просто не добавить имя пользователя/пользователя к каждой записи в db, то вы можете использовать их в одной таблице? – olofom

+0

@olofom Thats действительно отличная идея стоит попробовать! Но как насчет безопасности? Любые проблемы? – Vyachez

+0

Безопасность сводится к тому, как вы реализуете код. Если вы просто выбираете строки, которые соответствуют зарегистрированному пользователю, тогда это должно быть хорошо. – olofom

ответ

0

Вы всегда можете расширить модель автонастройки user, чтобы добавить дополнительные данные. Вы можете создать новую модель, которая имеет все дополнительные поля плюс отношения «один к одному» с моделью django user.

например:

from django.db import models 
from django.conf import settings 

class Profile(models.Model): 
    user = models.OneToOneField(settings.AUTH_USER_MODEL) 
    date_of_birth = models.DateField(blank=True, null=True) 
    ... 

Здесь, вы должны быть в состоянии использовать поля в Идент.пользе по умолчанию плюс пользовательские поля, которые нужны.

Смежные вопросы