aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Karlis S <[email protected]>2020-08-27 05:35:01 +0000
committerGravatar Karlis S <[email protected]>2020-08-27 05:35:01 +0000
commitfd2909c936efb9ab2285896b297b405c4dd7a1fb (patch)
tree11a5b605fd3374fbeb0b72b405206fcf9d0c44a9
parentRemove unused import from models utils (diff)
Move last parts from mixins to utils and delete mixins
-rw-r--r--pydis_site/apps/api/models/mixins.py31
-rw-r--r--pydis_site/apps/api/models/utils.py30
2 files changed, 30 insertions, 31 deletions
diff --git a/pydis_site/apps/api/models/mixins.py b/pydis_site/apps/api/models/mixins.py
deleted file mode 100644
index 5d75b78b..00000000
--- a/pydis_site/apps/api/models/mixins.py
+++ /dev/null
@@ -1,31 +0,0 @@
-from operator import itemgetter
-
-from django.db import models
-
-
-class ModelReprMixin:
- """Mixin providing a `__repr__()` to display model class name and initialisation parameters."""
-
- def __repr__(self):
- """Returns the current model class name and initialisation parameters."""
- attributes = ' '.join(
- f'{attribute}={value!r}'
- for attribute, value in sorted(
- self.__dict__.items(),
- key=itemgetter(0)
- )
- if not attribute.startswith('_')
- )
- return f'<{self.__class__.__name__}({attributes})>'
-
-
-class ModelTimestampMixin(models.Model):
- """Mixin providing created_at and updated_at fields."""
-
- created_at = models.DateTimeField(auto_now_add=True)
- updated_at = models.DateTimeField(auto_now=True)
-
- class Meta:
- """Metaconfig for the mixin."""
-
- abstract = True
diff --git a/pydis_site/apps/api/models/utils.py b/pydis_site/apps/api/models/utils.py
index 107231ba..692d14f7 100644
--- a/pydis_site/apps/api/models/utils.py
+++ b/pydis_site/apps/api/models/utils.py
@@ -1,8 +1,10 @@
from collections.abc import Mapping
+from operator import itemgetter
from typing import Any, Dict
from django.core.exceptions import ValidationError
from django.core.validators import MaxLengthValidator, MinLengthValidator
+from django.db import models
def is_bool_validator(value: Any) -> None:
@@ -171,3 +173,31 @@ def validate_embed(embed: Any) -> None:
if field_name in field_validators:
for validator in field_validators[field_name]:
validator(value)
+
+
+class ModelReprMixin:
+ """Mixin providing a `__repr__()` to display model class name and initialisation parameters."""
+
+ def __repr__(self):
+ """Returns the current model class name and initialisation parameters."""
+ attributes = ' '.join(
+ f'{attribute}={value!r}'
+ for attribute, value in sorted(
+ self.__dict__.items(),
+ key=itemgetter(0)
+ )
+ if not attribute.startswith('_')
+ )
+ return f'<{self.__class__.__name__}({attributes})>'
+
+
+class ModelTimestampMixin(models.Model):
+ """Mixin providing created_at and updated_at fields."""
+
+ created_at = models.DateTimeField(auto_now_add=True)
+ updated_at = models.DateTimeField(auto_now=True)
+
+ class Meta:
+ """Metaconfig for the mixin."""
+
+ abstract = True