LetsShop-shopdeck-actions/shopdeckdb/models.py
2023-02-24 19:30:23 +01:00

135 lines
5.5 KiB
Python

from django.db import models
# Create your models here.
class Client3DS(models.Model):
id = models.IntegerField(primary_key=True, blank=True)
consoleid = models.CharField(max_length=12, null=False)
devicetoken = models.CharField(max_length=21, null=False)
is_terminated = models.BooleanField(default=False)
balance = models.IntegerField(default=0)
language = models.CharField(max_length=3, null=False)
region = models.CharField(max_length=3, null=False)
country = models.CharField(max_length=3, null=False)
def __str__(self):
return "3DS "+self.consoleid
class customTitleID(models.Model):
tid = models.CharField(max_length=18, null=False)
related_to = models.ForeignKey(Client3DS, null=False, on_delete=models.CASCADE)
def __str__(self):
return "Title "+self.tid+" for user "+self.related_to.consoleid
class publisher(models.Model):
id = models.IntegerField(primary_key=True, blank=True)
publisher_name = models.CharField(max_length=20)
def __str__(self):
return self.publisher_name
class category(models.Model):
id = models.IntegerField(primary_key=True, blank=True)
index = models.IntegerField(default=0, null=False)
name = models.CharField(max_length=25)
standard = models.BooleanField(default=False)
icon_url = models.TextField(null=False)
banner_url = models.TextField(null=False)
new = models.BooleanField(default=True)
order = models.IntegerField(default=0)
def __str__(self):
return "Category "+self.name
class genre(models.Model):
id = models.IntegerField(primary_key=True, blank=True)
name = models.CharField(max_length=50)
def __str__(self):
return self.name
class platform(models.Model):
id = models.IntegerField(primary_key=True, blank=True)
name = models.CharField(max_length=50)
def __str__(self):
return self.name
class Title(models.Model):
id = models.IntegerField(primary_key=True, blank=True)
tid = models.CharField(max_length=16, null=False)
name = models.CharField(max_length=25)
desc = models.TextField(default="", null=False)
thumbnail_url = models.TextField(null=False)
icon_url = models.TextField(null=False)
banner_url = models.TextField(null=False)
publisher = models.ForeignKey(publisher, on_delete=models.CASCADE)
date = models.DateField(auto_now_add=True, null=False)
product_code = models.CharField(max_length=30)
new = models.BooleanField(default=True)
public = models.BooleanField(default=True)
category = models.ForeignKey(category, on_delete=models.DO_NOTHING, null=True, blank=True)
genre = models.ForeignKey(genre, null=False, on_delete=models.CASCADE)
in_app_purchase = models.BooleanField(default=False)
platform = models.ForeignKey(platform, null=False, on_delete=models.CASCADE)
price = models.IntegerField(default=0, null=False)
version = models.IntegerField(default=1024)
is_not_downloadable = models.BooleanField(default=False)
ticket_id = models.CharField(max_length=16, null=False)
ticket = models.TextField(null=False)
size = models.IntegerField(default=0)
ticket_available = models.BooleanField(default=True)
def __str__(self):
return self.name+" by "+self.publisher.publisher_name+" published on "+str(self.date)
class movie(models.Model):
id = models.IntegerField(primary_key=True, blank=True)
name = models.CharField(max_length=25)
thumbnail_url = models.TextField(null=False)
banner_url = models.TextField(null=False)
is_3d = models.BooleanField(default=False)
moflex_url = models.TextField(null=False)
time_in_sec = models.IntegerField(null=False)
date = models.DateField(auto_now_add=True, null=False)
category = models.ForeignKey(category, on_delete=models.DO_NOTHING, null=True, blank=True)
new = models.BooleanField(default=True, null=False)
def __str__(self):
return self.name
class ownedTitle(models.Model):
title = models.ForeignKey(Title, null=False, on_delete=models.CASCADE)
owner = models.ForeignKey(Client3DS, null=False, on_delete=models.CASCADE)
def __str__(self):
return "Title "+self.title.name+" owned by "+self.owner.consoleid
class wishlistedTitle(models.Model):
title = models.ForeignKey(Title, null=False, on_delete=models.CASCADE)
owner = models.ForeignKey(Client3DS, null=False, on_delete=models.CASCADE)
def __str__(self):
return "Wishlisted title "+self.title.name+" wanted by "+self.owner.consoleid
class announcement(models.Model):
id = models.IntegerField(primary_key=True, blank=True)
title = models.CharField(max_length=50, null=False)
content = models.TextField(null=False)
date = models.DateTimeField(auto_now_add=True, null=False)
is_banner = models.BooleanField(default=False)
banner_url = models.TextField(null=True, blank=True)
def __str__(self):
return "Announcement "+self.title
class motd(models.Model):
content = models.TextField(null=False)
order = models.IntegerField(default=0)
def __str__(self):
return self.content
class redeemableCard(models.Model):
code = models.CharField(max_length=16, null=False)
used = models.BooleanField(default=False)
is_money = models.BooleanField(default=True)
content = models.CharField(max_length=16, null=False)
def __str__(self):
return self.code
class searchCategory(models.Model):
id = models.IntegerField(primary_key=True, blank=True)
name = models.CharField(max_length=35)
platform_list = models.TextField()
def __str__(self):
return self.name