Python Django use mysql function SHA2('pass',256)
Я создаю приложение на Django и теперь хочу создать таблицу с именем пользователя и паролем. Сейчас мы генерируем пароль с помощью mysql функции SHA2('password',256) и мой вопрос... возможно ли использовать это так же в Django модели? То есть все, что будет сохранено в строке пароля, будет сохранено как хэш sha2 в приложении администратора или я должен создать функции?
вот мой models.py
class Users(models.Model):
username = models.CharField(max_length=30)
password = models.CharField(max_length=128)
status = models.IntegerField()
valid_from = models.DateTimeField()
valid_to = models.DateTimeField()
online = models.IntegerField()
ip = models.CharField(max_length=20)
created = models.DateTimeField()
def __str__(self):
return f'{self.username}'
Вам не нужно создавать модель User
. Вместо этого вы можете использовать следующее. from django.contrib.auth.models import User
.
тогда вы можете добавить дополнительное поле в модель, если хотите
class Profile(models.Model):
user = models.ForeignKey(User, on_delete=models.PROTECT)
valid_from = models.DateTimeField()
valid_to = models.DateTimeField()
online = models.IntegerField()
ip = models.CharField(max_length=20)
created = models.DateTimeField()
Вы можете подробно прочитать об этом в Документации здесь.