from django.db import models from posts.models import Post from datetime import datetime from django.utils import timezone class Comment(models.Model): """Класс для комента.""" post = models.ForeignKey(Post, on_delete=models.CASCADE) author_name = models.CharField("имя автора", max_length=60) author_secret = models.CharField("секретная строка", max_length=128, blank=True) reply = models.ForeignKey("self", on_delete=models.SET_NULL, blank=True, null=True) comment_text = models.TextField() date = models.DateTimeField(default=timezone.now) class CommentAuthor(models.Model): """Валидация автора коммента. Если коментатор оставил секретную фразу, то от нее вычисляется хеш, который сравнивается с тем, который есть в базе для этого сочетания author_name:hash. """ author_name = models.CharField("Имя автора", max_length=60) author_secret_hash = models.CharField("Хеш секрета", max_length=256)