Files
hossein-por-shop/backend/entertainment/models.py
T
2024-12-12 22:39:50 +03:30

143 lines
4.9 KiB
Python

from django.db import models
class BaseModel(models.Model):
lang1 = models.CharField(max_length=200, verbose_name='فارسی')
is_for_adults = models.BooleanField(verbose_name='+18 سوال')
class Meta:
abstract = True
def __str__(self):
return self.lang1
async def get(self, *attrs):
if len(attrs) == 1:
return getattr(self, attrs[0], None)
else:
return tuple(getattr(self, attr, None) for attr in attrs)
class Dare(BaseModel):
class Meta:
verbose_name = 'شجاعت'
verbose_name_plural = 'شجاعت ها'
class Truth(BaseModel):
class Meta:
verbose_name = 'حقیقت'
verbose_name_plural = "حقیقت ها"
class Would_you_rather(BaseModel):
class Meta:
verbose_name = 'ترجیح میدی'
verbose_name_plural = "ترجیح میدی ها"
class challenge(models.Model):
challenge_type = (
('map', 'نقشه ی گنج'),
('prize', 'جوایز')
)
type = models.CharField(max_length=30, choices=challenge_type, verbose_name='نوع چالش', primary_key=True)
image = models.ImageField(upload_to='media/', verbose_name='عکس')
link = models.URLField(verbose_name='لینک')
text = models.TextField(verbose_name='متن توضیحات')
button_text = models.CharField(max_length=40, verbose_name='متن دکمه')
def __str__(self):
return f'{self.type} - {self.text[0:50]}'
class Meta:
verbose_name = 'چالش'
verbose_name_plural = 'چالش ها'
class abjad(models.Model):
word = models.TextField(verbose_name='صورت ی سوال')
difficulty = (
('hard', 'سخت'),
('normal', 'متوسط'),
('easy', 'اسون')
)
image = models.ImageField(upload_to='media/', verbose_name='عکس بازی افتابه', blank=True, null=True)
difficulty_type = models.CharField(max_length=13, choices=difficulty, verbose_name='سختی')
answer = models.CharField(max_length=30, verbose_name='جواب')
option2 = models.CharField(max_length=30, verbose_name='گزینه ی اشتباه', null=True, blank=True)
option3 = models.CharField(max_length=30, verbose_name='گزینه ی اشتباه', null=True, blank=True)
option4 = models.CharField(max_length=30, verbose_name='گزینه ی اشتباه', null=True, blank=True)
def __str__(self):
return f'{self.word}'
class Meta:
verbose_name = 'سوال ابجد'
verbose_name_plural = 'سوالات ابجد'
async def get(self, *attrs):
if len(attrs) == 1:
return getattr(self, attrs[0], None)
else:
return tuple(getattr(self, attr, None) for attr in attrs)
GAME_DATA = {
Dare: {
'button': 'dare',
'game_name': 'شجاعت'
},
Truth: {
'button': 'truth',
'game_name': 'حقیقت'
},
Would_you_rather: {
'button': 'wyr',
'game_name': 'ترجیح میدی'
}
}
from django.db import models
class MusicCategory(models.Model):
name = models.CharField(max_length=40, verbose_name='نام دسته بندی')
def __str__(self):
return self.name
class Meta:
verbose_name = 'دسته بندی موزیک'
verbose_name_plural = 'دسته بندی موزیک ها'
class MovieCategory(models.Model):
name = models.CharField(max_length=40, verbose_name='نام دسته بندی')
def __str__(self):
return self.name
class Meta:
verbose_name = 'دسته بندی قیلم'
verbose_name_plural = 'دسته بندی فیلم ها'
class UploadParent(models.Model):
name = models.CharField(max_length=300, verbose_name='نام')
message_id = models.CharField(max_length=40, verbose_name='ای دی پیام تلگرام')
def __str__(self):
return self.name
class MusicModel(UploadParent):
lyric = models.CharField(verbose_name='متن اهنگ', max_length=4000, blank=True, null=True)
singer = models.CharField(max_length=300, verbose_name='خواننده', blank=True, null=True)
category = models.ForeignKey(MusicCategory, on_delete=models.CASCADE, verbose_name='دسته بندی', blank=True, null=True)
trand = models.BooleanField(default=False, verbose_name='ترند')
class Meta:
verbose_name = 'مدل اهنگ'
verbose_name_plural = 'مدل اهنگ ها'
class MovieModel(UploadParent):
description = models.CharField(max_length=4000,verbose_name='توضیحات فیلم', blank=True, null=True)
category = models.ForeignKey(MovieCategory, on_delete=models.CASCADE, verbose_name='دسته بندی', blank=True, null=True)
receommended = models.BooleanField(default=False, verbose_name='پیشنهادی')
class Meta:
verbose_name = 'مدل فیلم'
verbose_name_plural = 'مدل فیلم ها'