Gallery-Archivist/archivist/apps/sites/models.py
2024-12-30 23:08:07 +01:00

38 lines
1.2 KiB
Python

from django.db import models
from django.urls import reverse
from django.contrib.contenttypes.fields import GenericForeignKey, GenericRelation
from django.contrib.contenttypes.models import ContentType
from django.utils.translation import gettext_lazy as _
class Category(models.Model):
name = models.CharField(unique=True, max_length=64)
class Meta:
verbose_name = _("Category")
verbose_name_plural = _("Categories")
def __str__(self):
return self.name.capitalize()
class Tags(models.Model):
tag_slug = models.CharField(unique=True, max_length=64,)
date_added = models.DateTimeField(auto_now_add=True, editable=True)
category = models.ManyToManyField(Category)
content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE, null=True)
object_id = models.PositiveBigIntegerField(null=True)
content_object = GenericForeignKey('content_type', 'object_id')
class Meta:
verbose_name = _("Tag")
verbose_name_plural = _("Tags")
def __str__(self):
return self.tag_slug
content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE, null=True)