| 1234567891011121314151617181920212223242526272829303132333435363738 |
- from django.conf import settings
- from django.db import models
- from pytils.translit import slugify
- class Note(models.Model):
- title = models.CharField(
- 'Заголовок',
- max_length=100,
- default='Название заметки',
- help_text='Дайте короткое название заметке'
- )
- text = models.TextField(
- 'Текст',
- help_text='Добавьте подробностей'
- )
- slug = models.SlugField(
- 'Адрес для страницы с заметкой',
- max_length=100,
- unique=True,
- blank=True,
- help_text=('Укажите адрес для страницы заметки. Используйте только '
- 'латиницу, цифры, дефисы и знаки подчёркивания')
- )
- author = models.ForeignKey(
- settings.AUTH_USER_MODEL,
- on_delete=models.CASCADE,
- )
- def __str__(self):
- return self.title
- def save(self, *args, **kwargs):
- if not self.slug:
- max_slug_length = self._meta.get_field('slug').max_length
- self.slug = slugify(self.title)[:max_slug_length]
- super().save(*args, **kwargs)
|