Как настроить модель пользователя в Postgresql дБ с Django? - PullRequest
0 голосов
/ 18 января 2020

Я подключил свое Django приложение к Postgresql дБ, и в настоящее время у меня есть одна модель с именем Activity, которая определяется как:

models.py at mainApp

class Activity(models.Model):
    id           = models.AutoField(primary_key=True)
    activity     = models.CharField(null=False, max_length=10)
    status       = models.CharField(null=True, max_length=24) 
    initial_date = models.DateField(default=timezone.now(), null=True)
    ending_date  = models.DateField(default=timezone.now(), null=True)
    responsible  = models.CharField(null=False, max_length=15)

Я хочу создать модель с именем Users, который будет содержать всех пользователей, которым будет назначено действие ( это отношение 1: M, потому что 1 пользователь может быть назначен на несколько действий, но никакие действия не могут быть общими для нескольких пользователей ). Я хочу смоделировать пользователей как:

 models.py at accounts

class MyUsers(models.Model):
    id             = models.AutoField(primary_key=True)
    first_name     = models.CharField(null=False, max_length=20)
    last_name      = models.CharField(null=False, max_length=20) 
    username       = models.CharField(null=False, max_length=20) 
    email          = models.CharField(null=False, max_length=20) 

Мои проблемы заключаются в следующем:

  1. Структура проекта основана на mainApp, который содержит основные views.py, urls.py, forms.py, models.py конфигурации и accounts, которые предназначены для обработки входа / выхода и регистрации. Должен ли я объявить модель MyUsers в приложении accounts? Если да, будет ли достаточно внешнего ключа для соединения модели Activity с моделью MyUsers?

     class Activity(models.Model):
        ...
        initial_date = models.DateField(default=timezone.now(), null=True)
        ending_date  = models.DateField(default=timezone.now(), null=True)
        username     = models.ForeignKey(MyUsers, default=None)
    
    
     class MyUsers(models.Model):
         ...
         username       = models.CharField(null=False, max_length=20) 
         email          = models.CharField(null=False, max_length=20) 
    
  2. Как мне объявить поле пароля в модели MyUsers, чтобы убедиться, что оно защищено, и позже я смогу выполнить вход / выход из системы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...