/
piligrim
/
Python_Django_Learn
Обзор
Документация
Войти
/
piligrim
/
Python_Django_Learn
Код
Запросы
1
Задачи
Пакеты
0
Релизы
0
Аналитика
Безопасность
pull_request
src/blog/models.py
66 строк
2 KB
piligrim
14_add_user_model
22 май 2025, 15:16
22 май 2025, 15:16
a6e3f7b
Код
Авторство
О чём код?
from django.db import models from django.utils import timezone from django.core.validators import EmailValidator from django.contrib.auth import get_user_model 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): last_name = models.CharField(max_length=100, verbose_name="Фамилия") first_name = models.CharField(max_length=100, verbose_name="Имя") middle_name = models.CharField(max_length=100, verbose_name="Отчество", blank=True, null=True) birth_date = models.DateField(verbose_name="Дата рождения") email = models.EmailField(verbose_name="Электронная почта", validators=[EmailValidator()]) age = models.PositiveIntegerField(verbose_name="Возраст") def __str__(self): return f"{self.last_name} {self.first_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="Дата создания" ) class Meta: verbose_name = 'Комментарий' verbose_name_plural = 'Комментарии' ordering = ['-created']