diff --git a/fedireads/utils/models.py b/fedireads/models/base_model.py similarity index 91% rename from fedireads/utils/models.py rename to fedireads/models/base_model.py index bedc8e8ee..cd1cae077 100644 --- a/fedireads/utils/models.py +++ b/fedireads/models/base_model.py @@ -3,7 +3,6 @@ from django.db import models from fedireads.settings import DOMAIN -# TODO maybe this should be in /models? class FedireadsModel(models.Model): ''' fields and functions for every model ''' created_date = models.DateTimeField(auto_now_add=True) @@ -12,6 +11,9 @@ class FedireadsModel(models.Model): @property def absolute_id(self): ''' constructs the absolute reference to any db object ''' + if self.remote_id: + return self.remote_id + base_path = 'https://%s' % DOMAIN if hasattr(self, 'user'): base_path = self.user.absolute_id diff --git a/fedireads/models/book.py b/fedireads/models/book.py index 24ef34082..325734147 100644 --- a/fedireads/models/book.py +++ b/fedireads/models/book.py @@ -6,7 +6,7 @@ from model_utils.managers import InheritanceManager from fedireads import activitypub from fedireads.settings import DOMAIN from fedireads.utils.fields import JSONField, ArrayField -from fedireads.utils.models import FedireadsModel +from .base_model import FedireadsModel from fedireads.connectors.settings import CONNECTORS diff --git a/fedireads/models/shelf.py b/fedireads/models/shelf.py index a87a19cb6..ff625a097 100644 --- a/fedireads/models/shelf.py +++ b/fedireads/models/shelf.py @@ -2,7 +2,7 @@ from django.db import models from fedireads import activitypub -from fedireads.utils.models import FedireadsModel +from .base_model import FedireadsModel class Shelf(FedireadsModel): diff --git a/fedireads/models/status.py b/fedireads/models/status.py index b567b9db9..171d1a675 100644 --- a/fedireads/models/status.py +++ b/fedireads/models/status.py @@ -7,7 +7,7 @@ from django.db import models from model_utils.managers import InheritanceManager from fedireads import activitypub -from fedireads.utils.models import FedireadsModel +from .base_model import FedireadsModel class Status(FedireadsModel): @@ -113,13 +113,6 @@ class Favorite(FedireadsModel): status = models.ForeignKey('Status', on_delete=models.PROTECT) remote_id = models.CharField(max_length=255, unique=True, null=True) - @property - def absolute_id(self): - ''' constructs the absolute reference to any db object ''' - if self.remote_id: - return self.remote_id - return super().absolute_id - class Meta: unique_together = ('user', 'status') diff --git a/fedireads/models/user.py b/fedireads/models/user.py index 13fa82459..477617e31 100644 --- a/fedireads/models/user.py +++ b/fedireads/models/user.py @@ -7,7 +7,7 @@ from django.dispatch import receiver from fedireads.models.shelf import Shelf from fedireads.settings import DOMAIN -from fedireads.utils.models import FedireadsModel +from .base_model import FedireadsModel class User(AbstractUser):