This repository has been archived on 2022-03-12. You can view files and clone it, but cannot push or open issues or pull requests.
2021-09-12 17:26:57 +03:00

45 lines
1.5 KiB
Python

from django.db import models
from django.contrib.auth.models import User
def images_path(instance, filename):
# file will be uploaded to MEDIA_ROOT/user_<id>/<filename>
return '{0}/{1}'.format(instance.user.id, filename)
class Media(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE, blank=True, null=True)
image = models.FileField(upload_to=images_path, blank=True, null=True,)
is_video = models.BooleanField(default=False)
is_approved = models.BooleanField(blank=True, null=True, default=None, max_length=3)
date = models.DateTimeField(auto_now=True)
approved_by = models.CharField(max_length=30, blank=True, null=True, default=None, )
@property
def is_rejected(self) -> bool:
p = Profile.objects.get(user=self.user)
if p.is_banned:
return True
if not self.is_approved:
return True
return False
class Meta:
verbose_name = 'media'
verbose_name_plural = 'media'
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, primary_key=True)
is_banned = models.BooleanField(default=False)
balance = models.IntegerField(default=0)
class Transaction(models.Model):
cashier = models.ForeignKey(User, on_delete=models.CASCADE, related_name="cashier")
client = models.ForeignKey(User, on_delete=models.CASCADE, related_name="client")
date = models.DateTimeField(auto_now=True)
item = models.CharField(max_length=30, blank=True, null=True, default=None, )