Spaces:
Sleeping
Sleeping
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) |