updated to selfdelete inheritance

This commit is contained in:
2026-04-19 01:36:03 +02:00
parent 043e866ac9
commit 5280a87e8b
7 changed files with 151 additions and 58 deletions

View File

@@ -171,5 +171,30 @@ class CustomUser(SoftDeleteModel, AbstractUser):
"""Return the singleton anonymous user."""
User = CustomUser
return User.objects.get(username="anonymous")
def has_blocked(self, user) -> bool:
return self.blocking.filter(blocked_user=user).exists()
def is_blocked_by(self, user) -> bool:
return self.blocked_by.filter(blocker=user).exists()
class UserBlock(models.Model):
blocker = models.ForeignKey(
settings.AUTH_USER_MODEL,
on_delete=models.CASCADE,
related_name='blocking'
)
blocked_user = models.ForeignKey(
settings.AUTH_USER_MODEL,
on_delete=models.CASCADE,
related_name='blocked_by'
)
created_at = models.DateTimeField(auto_now_add=True)
class Meta:
unique_together = ('blocker', 'blocked_user')
def __str__(self):
return f"{self.blocker} blocked {self.blocked_user}"