/
fgtrwt
/
Python_Django_Learn
Обзор
Документация
Войти
/
fgtrwt
/
Python_Django_Learn
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/blog/models.py
101 строка
2 KB
fgtrwt
upload files
19 авг 2025, 11:03
19 авг 2025, 11:03
959e66e
Код
Авторство
О чём код?
from django.contrib.auth import get_user_model from django.db import models from django.utils import timezone from django.core.validators import EmailValidator User = get_user_model() class Post(models.Model): author = models.ForeignKey( # Изменено User, # Изменено on_delete=models.CASCADE, # Изменено verbose_name='Автор', max_length=255, ) title = models.CharField( verbose_name='Заголовок', max_length=255, ) text = models.TextField( verbose_name='Текст поста', ) create_at = models.DateTimeField( verbose_name='Дата создания', default=timezone.now ) def __str__(self): return self.title class Author(models.Model): surname = models.CharField( max_length=100, verbose_name="Фамилия" ) name = models.CharField( max_length=100, verbose_name="Имя" ) patronymic = models.CharField( max_length=100, blank=True, null=True, verbose_name="Отчество" ) birth_date = models.DateField( verbose_name="Дата рождения" ) email = models.EmailField( validators=[EmailValidator()], verbose_name="Почта" ) age = models.PositiveIntegerField( blank=True, null=True, verbose_name="Возраст" ) class Comment(models.Model): author = models.ForeignKey( User, on_delete=models.CASCADE, verbose_name="Автор" ) post = models.ForeignKey( 'Post', on_delete=models.CASCADE, related_name='comments', verbose_name='Пост' ) text = models.TextField( verbose_name="Текст комментария" ) created = models.DateTimeField( default=timezone.now, verbose_name="Дата создания" ) def __str__(self): return f'Комментарий от {self.author} на "{self.post}"' class Meta: verbose_name = "Комментарий" verbose_name_plural = "Комментарии" ordering = ['-created']