Files

46 lines
1.2 KiB
Python
Raw Permalink Normal View History

2026-03-24 15:06:48 -04:00
from django.utils import timezone
from django.conf import settings
from django.db.models import (
Model,
CharField,
2026-03-24 15:06:48 -04:00
BooleanField,
DateTimeField,
IntegerField,
FilePathField,
ForeignKey,
CASCADE
)
2026-03-24 15:39:09 -04:00
def get_gallery_root():
return settings.GALLERY_ROOT
class UserSettings(Model):
"""
User relations to a specific image file by path.
"""
user = ForeignKey(settings.AUTH_USER_MODEL, blank=False, null=False, on_delete=CASCADE)
theme = CharField(max_length=5, blank=False, null=False, default='dark')
sort = CharField(max_length=6, blank=False, null=False, default='abc')
class meta:
ordering = ["pk"]
2026-03-24 15:06:48 -04:00
class Image(Model):
"""
User relations to a specific image file by path.
"""
user = ForeignKey(settings.AUTH_USER_MODEL, blank=False, null=False, on_delete=CASCADE)
2026-03-24 15:39:09 -04:00
path = FilePathField(path=get_gallery_root, blank=False, null=False)
2026-03-24 15:06:48 -04:00
favorite = BooleanField(blank=False, null=False, default=False)
last_visited = DateTimeField(blank=False, null=False, default=timezone.now)
visits = IntegerField(blank=False, null=False, default=0)
class meta:
ordering = ["pk"]
get_latest_by = "-last_visited"