diff options
author | 2018-11-18 21:03:06 +0100 | |
---|---|---|
committer | 2018-11-18 21:03:06 +0100 | |
commit | 9e9fde3fa4a159e3883760c5ca9fe51b4d6593de (patch) | |
tree | 952b0ae3c51a884aaeb32672b9a6bfd68caafb1d /api/models.py | |
parent | Set up markdown & Dockerfile lints. (diff) |
Add the abstract `Message` model.
Diffstat (limited to 'api/models.py')
-rw-r--r-- | api/models.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/api/models.py b/api/models.py index 9990e266..3ba0ac5c 100644 --- a/api/models.py +++ b/api/models.py @@ -210,6 +210,37 @@ class Member(ModelReprMixin, models.Model): return f"{self.name}#{self.discriminator}" +class Message(ModelReprMixin, models.Model): + id = models.BigIntegerField( + primary_key=True, + help_text="The message ID as taken from Discord.", + validators=( + MinValueValidator( + limit_value=0, + message="Message IDs cannot be negative." + ), + ) + ) + author = models.ForeignKey( + Member, + on_delete=models.CASCADE, + help_text="The author of this message." + ) + content = models.CharField( + max_length=2_000, + help_text="The content of this message, taken from Discord." + ) + embeds = pgfields.ArrayField( + pgfields.JSONField( + validators=(validate_tag_embed,) + ), + help_text="Embeds attached to this message." + ) + + class Meta: + abstract = True + + class Tag(ModelReprMixin, models.Model): """A tag providing (hopefully) useful information.""" |