Я подключил свое 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)
Мои проблемы заключаются в следующем:
Структура проекта основана на 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)
Как мне объявить поле пароля в модели MyUsers
, чтобы убедиться, что оно защищено, и позже я смогу выполнить вход / выход из системы?