/
Stormsidee
/
StormWiki
Обзор
Документация
Войти
/
Stormsidee
/
StormWiki
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
app/models.py
42 строки
2 KB
Stormsidee
project for learn django
04 ноя 2025, 16:22
04 ноя 2025, 16:22
f2b09f5
Код
Авторство
О чём код?
from django.db import models from django.contrib.auth.models import User from django.urls import reverse class Tag(models.Model): name = models.CharField(max_length=50, unique=True, verbose_name='Заголовок') created_at = models.DateTimeField(auto_now_add=True) class Meta: verbose_name = 'Тег' verbose_name_plural = 'Теги' ordering = ['name'] def __str__(self): return self.name class Article(models.Model): title = models.CharField(max_length=200, verbose_name='Заголовок') content = models.TextField(verbose_name='Содержание') tags = models.ManyToManyField(Tag, blank=True, verbose_name='Теги') author = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name='Автор') created_at = models.DateTimeField(auto_now_add=True, verbose_name='Создано') updated_at = models.DateTimeField(auto_now=True, verbose_name='Обновлено') is_published = models.BooleanField(default=True, verbose_name='Опубликовано') class Meta: verbose_name = 'Статья' verbose_name_plural = 'Статьи' ordering = ['-updated_at'] indexes = [ models.Index(fields=['title']), models.Index(fields=['created_at']), ] def __str__(self): return self.title def get_absolute_url(self): return reverse('article_detail', kwargs={'pk': self.pk}) def get_tags_list(self): return ', '.join(tag.name for tag in self.tags.all())