from django.utils import timezone from django.conf import settings from django.db.models import ( Model, BooleanField, DateTimeField, IntegerField, FilePathField, ForeignKey, CASCADE ) 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) path = FilePathField(path=settings.GALLERY_ROOT, blank=False, null=False) 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"