mirror of
https://github.com/wahyd4/links.git
synced 2026-08-09 05:06:16 +10:00
Fix tag issues
This commit is contained in:
Binary file not shown.
@@ -0,0 +1,36 @@
|
||||
from django.db import migrations, models
|
||||
from django.utils.text import slugify
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
|
||||
def populate_tag_slugs(apps, schema_editor):
|
||||
Tag = apps.get_model('links', 'Tag')
|
||||
for tag in Tag.objects.all():
|
||||
tag.slug = slugify(tag.name)
|
||||
tag.save()
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('links', '0032_remove_post_type'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='tag',
|
||||
name='slug',
|
||||
field=models.SlugField(max_length=100, null=True, unique=True, verbose_name=_('Slug')),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='tag',
|
||||
name='description',
|
||||
field=models.TextField(blank=True, verbose_name=_('Description')),
|
||||
),
|
||||
migrations.RunPython(populate_tag_slugs, reverse_code=migrations.RunPython.noop),
|
||||
migrations.AlterField(
|
||||
model_name='tag',
|
||||
name='slug',
|
||||
field=models.SlugField(max_length=100, unique=True, verbose_name=_('Slug')),
|
||||
),
|
||||
]
|
||||
+8
-1
@@ -144,6 +144,8 @@ def generate_random_color():
|
||||
|
||||
class Tag(models.Model):
|
||||
name = models.CharField(_('Name'), max_length=50, unique=True)
|
||||
slug = models.SlugField(_('Slug'), max_length=100, unique=True)
|
||||
description = models.TextField(_('Description'), blank=True)
|
||||
created_at = models.DateTimeField(_('Created at'), auto_now_add=True)
|
||||
updated_at = models.DateTimeField(_('Updated at'), auto_now=True)
|
||||
|
||||
@@ -156,7 +158,12 @@ class Tag(models.Model):
|
||||
return self.name
|
||||
|
||||
def get_absolute_url(self):
|
||||
return reverse('tag-detail', kwargs={'pk': self.pk})
|
||||
return reverse('tag-detail', kwargs={'slug': self.slug})
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if not self.slug:
|
||||
self.slug = slugify(self.name)
|
||||
super().save(*args, **kwargs)
|
||||
|
||||
class Page(models.Model):
|
||||
class ProcessStatus(models.TextChoices):
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
{% endwith %}
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
<!-- </a> -->
|
||||
{% empty %}
|
||||
<div class="col-span-full text-center py-8 text-gray-500">
|
||||
{% trans "No tags found." %}
|
||||
|
||||
Reference in New Issue
Block a user