Gallery-Archivist/archivist/apps/user/models.py

52 lines
No EOL
1.4 KiB
Python

from django.db import models
from django.contrib.auth.models import User
from django.db.models.signals import post_save
from django.dispatch import receiver
from django.utils.translation import gettext_lazy as _
from sites.furaffinity.models import FA_Submission
class UserProfile(models.Model):
MATURE = [
("H", "Hide"),
("B", "Blur"),
("S", "Show"),
]
ITEMS_PER_PAGE = [
(24, "24"),
(48, "48"),
(72, "72"),
]
user = models.OneToOneField(User, on_delete=models.CASCADE, primary_key=True, unique=True)
show_mature = models.CharField(max_length=2, choices=MATURE, default=MATURE[0][0])
items_per_page = models.IntegerField(choices=ITEMS_PER_PAGE, default=ITEMS_PER_PAGE[0][0])
class Meta:
verbose_name = _("User Profile")
verbose_name_plural = _("User Profiles")
def __str__(self):
return self.user.username
class SeenPost(models.Model):
user = models.ForeignKey(UserProfile, on_delete=models.CASCADE)
post = models.ForeignKey(FA_Submission, on_delete=models.CASCADE)
timestamp = models.DateTimeField(auto_now_add=True)
#receiver(post_save, sender=User)
#def create_user_profile(sender, instance, created, **kwargs):
# if created:
# UserProfile.objects.create(user=instance)
#@receiver(post_save, sender=User)
#def save_user_profile(sender, instance, **kwargs):
# instance.user.save()