文章标签
| 252 | |
| 253 | |
| 254 | class Tag(BaseModel): |
| 255 | """文章标签""" |
| 256 | name = models.CharField(_('tag name'), max_length=30, unique=True) |
| 257 | slug = models.SlugField(default='no-slug', max_length=60, blank=True) |
| 258 | |
| 259 | def __str__(self): |
| 260 | return self.name |
| 261 | |
| 262 | def get_absolute_url(self): |
| 263 | return reverse('blog:tag_detail', kwargs={'tag_name': self.slug}) |
| 264 | |
| 265 | @cache_decorator(CacheTimeout.HOUR_10) |
| 266 | def get_article_count(self): |
| 267 | return Article.objects.filter(tags__name=self.name).distinct().count() |
| 268 | |
| 269 | class Meta: |
| 270 | ordering = ['name'] |
| 271 | verbose_name = _('tag') |
| 272 | verbose_name_plural = verbose_name |
| 273 | |
| 274 | |
| 275 | class Links(models.Model): |
no outgoing calls