aboutsummaryrefslogtreecommitdiffstats
path: root/api/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'api/models.py')
-rw-r--r--api/models.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/api/models.py b/api/models.py
index 6b681ebc..e84e28c0 100644
--- a/api/models.py
+++ b/api/models.py
@@ -1,8 +1,11 @@
from operator import itemgetter
+from django.contrib.postgres import fields as pgfields
from django.core.validators import MaxValueValidator, MinValueValidator, RegexValidator
from django.db import models
+from .validators import validate_tag_embed
+
class ModelReprMixin:
"""
@@ -159,3 +162,20 @@ class Member(ModelReprMixin, models.Model):
def __str__(self):
return f"{self.name}#{self.discriminator}"
+
+
+class Tag(ModelReprMixin, models.Model):
+ """A tag providing (hopefully) useful information."""
+
+ title = models.CharField(
+ max_length=100,
+ help_text=(
+ "The title of this tag, shown in searches and providing "
+ "a quick overview over what this embed contains."
+ ),
+ primary_key=True
+ )
+ embed = pgfields.JSONField(
+ help_text="The actual embed shown by this tag.",
+ validators=(validate_tag_embed,)
+ )