Xenesis / api /models.py
thejagstudio's picture
Upload 1159 files
05dddec verified
raw
history blame
6.2 kB
from django.db import models
from django.contrib.auth.models import User
class Profile(models.Model):
def default_data():
return {"data": []}
user = models.OneToOneField(User, on_delete=models.CASCADE, related_name="User")
profilePic = models.CharField(max_length=100, default="0001")
location = models.CharField(max_length=100, blank=True)
phone = models.CharField(max_length=10, blank=True)
otp = models.CharField(max_length=6, blank=True)
isVolunteer = models.BooleanField(default=False)
isOrganiser = models.BooleanField(default=False)
isAccountSetup = models.BooleanField(default=False)
isCampainVolunteer = models.BooleanField(default=False)
isVerified = models.BooleanField(default=False)
college = models.CharField(max_length=500, blank=True)
def __str__(self):
return str(self.user.username)
class Department(models.Model):
name = models.CharField(max_length=500, unique=True)
abbriviation = models.CharField(max_length=10, default="")
coordinator1 = models.ForeignKey(
Profile, on_delete=models.CASCADE, related_name='department_coordinator1')
coordinator2 = models.ForeignKey(
Profile, on_delete=models.CASCADE, blank=True, related_name='department_coordinator2')
posterImage = models.CharField(max_length=1000)
def __str__(self):
return str(self.name)
class Event(models.Model):
def default_images():
return {"data": ["/static/event-images/1.jpg","/static/event-images/2.jpg","/static/event-images/3.jpg","/static/event-images/4.jpg"]}
name = models.CharField(max_length=500, unique=True)
department = models.ForeignKey(Department, on_delete=models.CASCADE)
teamName = models.CharField(max_length=100)
teamLeader = models.ForeignKey(Profile, on_delete=models.CASCADE, related_name="event_teamLeader")
price = models.CharField(max_length=10, default="-")
teamPrice = models.CharField(max_length=10, default="-")
winnerPrice1 = models.CharField(max_length=10, null=True, blank=True)
winnerPrice2 = models.CharField(max_length=10, null=True, blank=True)
location = models.CharField(max_length=100)
date = models.DateField()
description = models.CharField(max_length=10000)
rules = models.CharField(max_length=10000, null=True, blank=True)
round1Title = models.CharField(max_length=200, null=True, blank=True)
round1 = models.CharField(max_length=10000, null=True, blank=True)
round2Title = models.CharField(max_length=200, null=True, blank=True)
round2 = models.CharField(max_length=10000, null=True, blank=True)
round3Title = models.CharField(max_length=200, null=True, blank=True)
round3 = models.CharField(max_length=10000, null=True, blank=True)
round4Title = models.CharField(max_length=200, null=True, blank=True)
round4 = models.CharField(max_length=10000, null=True, blank=True)
round5Title = models.CharField(max_length=200, null=True, blank=True)
round5 = models.CharField(max_length=10000, null=True, blank=True)
tagline = models.CharField(max_length=2000)
posterImage = models.CharField(max_length=1000)
winner1 = models.ForeignKey(Profile, on_delete=models.CASCADE, blank=True, null=True, related_name="event_winner1")
winner2 = models.ForeignKey(Profile, on_delete=models.CASCADE, blank=True, null=True, related_name="event_winner2")
winner3 = models.ForeignKey(Profile, on_delete=models.CASCADE, blank=True, null=True, related_name="event_winner3")
organisers = models.JSONField()
volunteer = models.JSONField()
organiser1 = models.ForeignKey(Profile, on_delete=models.CASCADE, blank=True,null=True, related_name='organiser1_event')
organiser2 = models.ForeignKey(Profile, on_delete=models.CASCADE, blank=True,null=True, related_name='organiser2_event')
organiser3 = models.ForeignKey(Profile, on_delete=models.CASCADE, blank=True,null=True, related_name='organiser3_event')
organiser4 = models.ForeignKey(Profile, on_delete=models.CASCADE, blank=True,null=True, related_name='organiser4_event')
organiser5 = models.ForeignKey(Profile, on_delete=models.CASCADE, blank=True,null=True, related_name='organiser5_event')
teamParticapantCount = models.PositiveIntegerField(default=1)
teamParticapantCountMin = models.PositiveIntegerField(default=1)
isTeamEvent = models.BooleanField()
isTeamPriceFull = models.BooleanField(default=False)
isClosed = models.BooleanField()
status = models.CharField(max_length=100)
images = models.JSONField(default=default_images)
def __str__(self):
return str(self.name)
class Ticket(models.Model):
owner = models.ForeignKey(Profile, on_delete=models.CASCADE)
owner1 = models.ForeignKey(Profile,on_delete=models.CASCADE,null=True,blank=True,related_name="owner1_ticket")
owner2 = models.ForeignKey(Profile,on_delete=models.CASCADE,null=True,blank=True,related_name="owner2_ticket")
owner3 = models.ForeignKey(Profile,on_delete=models.CASCADE,null=True,blank=True,related_name="owner3_ticket")
owner4 = models.ForeignKey(Profile,on_delete=models.CASCADE,null=True,blank=True,related_name="owner4_ticket")
event = models.ForeignKey(Event, on_delete=models.CASCADE)
comments = models.CharField(max_length=200,null=True,blank=True)
date = models.DateField(auto_now_add=True)
qrCodeData = models.CharField(max_length=64)
userCount = models.PositiveIntegerField(default=1)
paymentMethod = models.CharField(max_length=100,null=True,blank=True)
isScanned = models.BooleanField(default=False)
isPaid = models.BooleanField(default=False)
acceptedBy = models.ForeignKey(Profile, on_delete=models.CASCADE,null=True,blank=True,related_name="name_acceptedBy")
def __str__(self):
return str(self.owner) and str(self.event)
class Notifications(models.Model):
user = models.ForeignKey(Profile, on_delete=models.CASCADE, related_name="notification_user")
event = models.ForeignKey(Event, on_delete=models.CASCADE)
dateTime = models.DateTimeField()
isRead = models.BooleanField()
class Gallery(models.Model):
path = models.CharField(max_length=1000)