class Event(models.Model): # reits = models.IntegerField(_('Рейтинг'),max_length=1) title = models.CharField(_('Название'), max_length=100) # slug = AutoSlugField(populate_from='title', unique_with='date_start__month') type = models.CharField(_('Какое мероприятие'), max_length=100, choices=EVENT_TYPE, default='hak') date_start = models.DateTimeField(_('Дата начала')) date_end = models.DateTimeField(_('Дата окончания')) img = StdImageField(_("Аватар"), upload_to=avatar_path, variations={ 'thumb': (150, 150, True), 'small': (50, 50, True) }, validators=[MaxSizeValidator(1028, 768)], null=True) city = models.CharField(_('Город'), max_length=100, choices=CITIES, default='msk') specialty = models.ManyToManyField(Specialty, verbose_name=_('Специальность')) about = models.TextField(_('Описание'), max_length=2000) facebook = models.CharField(max_length=100, blank=True) instagram = models.CharField(max_length=100, blank=True) twitter = models.CharField(max_length=100, blank=True) vk = models.CharField(max_length=100, blank=True) create_by = models.ForeignKey(ItUser, verbose_name=_('Создатель'), related_name='my_events') members = models.ManyToManyField(ItUser, verbose_name=_('Участники'), blank=True, related_name='events') def __str__(self): return self.title class Meta: verbose_name = 'Event' verbose_name_plural = 'Events' def get_small_img_url(self): try: return self.img.small.url except AttributeError: return default_avatars.DEFAULT_EVENT_AVATAR_SMALL def get_thumb_img_url(self): try: return self.img.thumb.url except AttributeError: return default_avatars.DEFAULT_EVENT_AVATAR_THUMB
class Items(models.Model): title = models.CharField(max_length=255, verbose_name=_('Item Title'), null=False) description = models.CharField(max_length=3000, verbose_name=_('Item Description'), blank=True, null=True) photo = StdImageField(blank=True, verbose_name=_('Item Photo'), null=True, upload_to=get_file_path, variations={ 'large': (600, 400), 'thumbnail': { "width": 100, "height": 100, "crop": True } }) user_ref = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name=_('user'), related_name="problems_user_ref") condominium_ref = models.ForeignKey(Condominium, verbose_name=_('Condominium'), related_name="problems_condominium", on_delete=models.CASCADE) create = models.DateTimeField(auto_now_add=True, verbose_name=_('create')) last_update = models.DateTimeField(auto_now_add=True, verbose_name=_('last_update')) public = models.BooleanField( verbose_name=_('Public'), default=True, help_text=_( 'Allows to view problem for users from other condominiums')) def __str__(self): return self.title class Meta: verbose_name = _("Item") verbose_name_plural = _("Items") @property def status(self): return Statuses.objects.all().filter(item_ref_id=self.id).status @property def days_left(self): return (self.create + datetime.timedelta(days=self.condominium_ref.problem_days) - datetime.datetime.now()).days
class User(AbstractUser): objects = AccountUserManager() stripe_id = models.CharField(max_length=40, default='') subscription_end = models.DateTimeField(default=timezone.now) public_name = models.CharField(max_length=20) location = models.CharField(max_length=20, blank=True, null=True) profile_image = StdImageField(upload_to="images/user_profiles", variations={ 'small': {'width': 96, 'height': 96, "crop": True} }, blank=True, null=True)
class Servico(models.Model): nome = models.CharField(max_length=20) exemplos = models.CharField(max_length=100) imagem = StdImageField(null=True, blank=True, upload_to=UploadToUUID(path='servicos/'), variations={'normal': (1900, 550, True)}) descricao = models.TextField() def __str__(self): return self.nome
class Diet(models.Model): name = models.CharField(max_length=32) description = models.TextField() picture = StdImageField(upload_to='media/images/diet', blank=True, null=True) ingredients = models.ManyToManyField('Ingredient') ingredients_family = models.ManyToManyField('IngredientFamily') active = False def __str__(self): return self.name
class Curso(Base): nome = models.CharField('CURSO', max_length=100) preco = models.DecimalField('PREÇO', max_digits=8, decimal_places=2) vagas = models.IntegerField('VAGAS') imagem = StdImageField('Imagem', upload_to='curso', variations={'thumb': (124, 124)}) slug = models.SlugField('Slug', max_length=100, blank=True, editable=False) def __str__(self): return self.nome
class Rom(models.Model): name = models.CharField("name", max_length=128, unique=True) description = models.TextField("Beschreibung", max_length=1024) cover = StdImageField("cover-Bild", upload_to=upload_cover_to, validators=[MinSizeValidator(300, 300)], variations={ 'large': { 'width': 600, 'height': 600, 'crop': True }, 'small': { 'width': 300, 'height': 300, 'crop': True } }) low_binary = models.FileField("low binary", upload_to=upload_binary_to) high_binary = models.FileField("high binary", upload_to=upload_binary_to) approved = models.BooleanField("approved", default=False) tags = TaggableManager(blank=True) user = models.ForeignKey(User, blank=True, null=True, on_delete=models.PROTECT) download_count = models.IntegerField(default=0) creation_time = models.DateTimeField("creation time", auto_now_add=True) edit_time = models.DateTimeField("edit time", auto_now=True) def get_absolute_url(self): return reverse('romdetails', kwargs={'id': self.pk}) def tag_list(self): return [t.name for t in self.tags.all()] def to_json(self): json = { 'id': self.pk, 'name': self.name, 'user': self.user.username, 'description': self.description, 'tags': self.tag_list(), 'low_binary': self.low_binary.url, 'high_binary': self.high_binary.url, 'download_count': self.download_count, 'creation_time': self.creation_time, 'edit_time': self.edit_time } return json def __str__(self): return self.name
class Product(Base): name = models.CharField('Name', max_length=100) price = models.DecimalField('price', max_digits=8, decimal_places=2) stock = models.IntegerField('stock') img = StdImageField("Img", upload_to='products', variations={'thumb': (124, 124)}) slug = models.SlugField('Slug', max_length=100, blank=True, editable=False) def __str__(self): return self.name
class OtherImage(Base): name = models.CharField('Name', max_length=50) image = StdImageField('Image', upload_to=get_file_path, variations={'thumb': {'width': 600, 'height': 670, 'crop': True}}) class Meta: verbose_name = 'Other Image' verbose_name_plural = 'Other Images' def __str__(self): return self.name
class Produto(Base): nome = models.CharField('Nome', max_length=100) preco = models.DecimalField('Preço', max_digits=8, decimal_places=2) estoque = models.IntegerField('Estoque') imagem = StdImageField('Imagem', upload_to='produtos', variations={'thumb': (124, 124)}) slug = models.SlugField('Slug', max_length=100, blank=True, editable=False) def __str__(self): return self.nome
class Livros(Base): nome = models.CharField("Nome", max_length=20) preco = models.DecimalField("Preço", max_digits=8, decimal_places=2) estoque = models.IntegerField("Estoque") solicitado = models.BooleanField("Solicitado?", default=False) imagem = StdImageField("Imagem", upload_to='livros', variations={'thumb': (124, 124)}) slug = models.SlugField("Slug", max_length=100, blank=True, editable=False) def __str__(self): return self.nome
class Hero(Base): name = models.CharField('Name', max_length=20) description = models.CharField('Description', max_length=150) image = StdImageField('Image', upload_to='heroes', variations={'thumb': {'width': 300, 'height': 300, 'crop': True}}) class Meta: verbose_name = 'Hero' verbose_name_plural = 'Heroes' def __str__(self): return self.name
class User(models.Model): name = models.CharField(max_length = 100, null=False) timestamp = models.DateTimeField(auto_now_add=True) picture = StdImageField(blank=True, null=True, upload_to = 'profilepictures/', variations={ 'detailthumbnail':(200,200, True), 'listthumbnail':(100,100,True) }) def __str__(self): return self.name
class Game(models.Model): """Game object.""" name = models.CharField(max_length=50) image = StdImageField( upload_to='game_images', null=True, blank=True, variations={'thumbnail': { 'width': 200, 'height': 200 }}) game_file = models.ManyToManyField(MyFile, blank=True) description = models.TextField(max_length=5000) date_published = models.DateField(auto_now_add=True) group = models.ForeignKey(Group, null=False) event_name = models.CharField(max_length=75, blank=True, default='') tags = models.ManyToManyField(GameTag, null=True, blank=True) featured = models.BooleanField(default=False) objects = GameManager() @property def small_description(self): if len(self.description) > 300: return self.description[:300] + '...' else: return self.description @property def average_rating(self): ratings = zip(*self.gamerating_set.all().values_list('value')) if ratings: ratings = ratings[0] return sum(ratings) / len(ratings) else: return 0 @property def total_ratings(self): ratings = zip(*self.gamerating_set.all().values_list('value')) if len(ratings) != 0: return len(ratings[0]) return 0 def push_notification(self): if self.group: return self.group.push_notification( description='Somebody commented on a game of yours!', url=reverse('core:games:specific', kwargs={'game_id': self.pk})) def __unicode__(self): return self.name
class Image(Base): image = StdImageField('Imagem', upload_to=get_file_path, delete_orphans=True) predict_covid = models.FloatField('Previsão Covid', null=True, blank=True) predict_no_findings = models.FloatField('Previsão Sem Doença', null=True, blank=True) predict_pneumonia = models.FloatField('Previsão Pneumonia', null=True, blank=True) class Meta: verbose_name = 'Imagem' verbose_name_plural = 'Imagens' def __str__(self): return f'{self.image}'
class Employee(Base): name = models.CharField('Name', max_length=100) occupation = models.ForeignKey('core.Occupation', verbose_name='Occupation', on_delete=models.CASCADE) bio = models.TextField('Bio', max_length=255) photo = StdImageField('Photo', upload_to=get_file_path, variations={'thumb': {'width': 480, 'height': 480, 'crop': True}}) facebook = models.CharField('Facebook', max_length=100, default='#') twitter = models.CharField('Twitter', max_length=100, default='#') instagram = models.CharField('Instagram', max_length=100, default='#') def __str__(self): return self.name
class UserProfile(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE) imagem = StdImageField('Imagem', upload_to='imagemUserProfile', variations={'thumb': {'width': 60, 'height': 60, 'crop': True} }, default="imagemUserProfile/padrao.png", delete_orphans=True) reputacao = models.IntegerField('Reputação', default=0) experiencia = models.IntegerField('Experiência', default=0) role = models.OneToOneField(UserRole, on_delete=models.CASCADE) def __str__(self): return self.user.get_full_name()
class Equipe(models.Model): nome = models.CharField('Nome', max_length=100) cargo = models.CharField('Cargo', max_length=100) imagem = StdImageField('Imagem', upload_to='Equipe') linkedin = models.CharField('Linkedin', max_length=100, default='#') class Meta: verbose_name = 'Equipe' verbose_name_plural = 'Equipes' def __str__(self): return self.nome
class NyaayaApp(models.Model): WOLF = 'DN' CHEETAH = 'DU' BLOG = 'BL' STATIC = 'ST' DEFAULT = 'AA' THEME_CHOICES = ((WOLF, 'Explainers : Dummy-parent Doc without right Nav'), (CHEETAH, '---- : Dummy-parent Doc without Nav'), (BLOG, 'Blog : Theme with published date'), (STATIC, 'Static : Theme for static pages'), (DEFAULT, 'Guides : Default Theme for Readbility')) ENG = 'EN' HINDI = 'HIN' LANG_DEFAULT = 'EN' LANG_CHOICES = ( (ENG, 'English'), (HINDI, 'Hindi'), ) title = models.CharField(max_length=225, unique=False) theme = models.CharField(max_length=2, choices=THEME_CHOICES, default=DEFAULT, db_index=True) lang = models.CharField(max_length=5, choices=LANG_CHOICES, default=LANG_DEFAULT) illustration = StdImageField(upload_to=upload_to_config_illustrations, blank=True, null=True, variations={ 'desktop': { "width": 700, "height": 500, "crop": True }, 'mobile': { "width": 280, "height": 200, "crop": True }, }) is_deleted = models.BooleanField(default=False) created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) def __unicode__(self): return u'%s (%s)' % (self.title, self.lang) class Meta(object): db_table = 'pyramid_nyaayaapp' verbose_name = 'App Config' verbose_name_plural = 'App Configs'
class Atleta(models.Model): # Atleta é ... # # UC01 - Manter Atletas # FA01 - Incluir Atleta # 2. O sistema apresenta os campos para entrada dos dados: # - Nome (Obrigatório) # - Foto # - CPF (Obrigatório / Não se repete) # - RG (Obrigatório / Não se repete) # - Matrícula (Obrigatório / Não se repete) # - Gênero (Obrigatório) # - Masculino; # - Feminino. # - Data de Nascimento # - Tipo Sanguíneo # - Plano de Saúde # - Nº Carteira SUS # - Medicamento Controlado # - Alergia nome = models.CharField(max_length=100) foto = StdImageField(upload_to='atletas', variations={'thumb': (124, 124)}, blank=True) cpf = models.CharField('CPF', max_length=11, unique=True) rg = models.CharField('RG', max_length=50, unique=True) matricula = models.CharField('Matrícula', max_length=20, unique=True) genero = models.CharField('Gênero', max_length=1, choices=[['M', 'Masculino'], ['F', 'Femenino']]) data_nascimento = models.DateField('Data de Nascimento', blank=True, null=True) tipo_sanguineo = models.CharField('Tipo Sanguíneo', max_length=3, blank=True) plano_saude = models.CharField('Plano de Saúde', max_length=200, blank=True) numero_carteira_sus = models.CharField('Nº Carteira do SUS', max_length=20, blank=True) medicamento_controlado = models.TextField('Medicamento Controlado', blank=True) alergia = models.TextField('Alergia', blank=True) class Meta: verbose_name = 'Atleta' verbose_name_plural = 'Atletas' def __str__(self): return self.nome
class User(models.Model): username = models.CharField(max_length=50) password = models.CharField(max_length=55) profile_pic = StdImageField(upload_to='images/', null=True, blank=True, variations={ 'large': (400, 400), 'thumbnail': (100, 100, True), 'medium': (250, 250), 'icon': (40, 40, True) }) created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) objects = UserManager()
class Curso(Base): nome = models.CharField('Nome', max_length=100) preco = models.DecimalField('Preço', decimal_places=2, max_digits=8) vagas = models.IntegerField('Vagas') imagem = StdImageField('Imagem', upload_to='cursos', variations={'thumb': (124, 124)}) doc = models.FileField('Documentação', upload_to='cursospdf', default="") slug = models.SlugField('Slug', max_length=100, blank=True, editable=False) def __str__(self): return self.nome
class PersonDocument(models.Model): person = models.ForeignKey(Person, on_delete=models.DO_NOTHING, related_name='my_documents', null=True) document_name = models.CharField(max_length=255) issue_date = models.DateField(null=True) expiration_date = models.DateField(null=True) scan_image = StdImageField( variations={ 'thumbnail': (100, 70, True), }, delete_orphans=True) is_active = models.BooleanField(default=True) comment = models.TextField(null=True)
class Page(models.Model): name = models.CharField(max_length=255, db_index=True) content = models.TextField(null=True, blank=True) content_html = models.TextField(null=True, blank=True, help_text="Auto-generated - do NOT edit") image = StdImageField(upload_to="pages", variations={ "thumbnail": (350, 350), "medium": (800, 600), "large": (1280, 1024) }, null=True, blank=True) position = models.PositiveSmallIntegerField(db_index=True) slug = models.SlugField(max_length=255) FORMATS = ( ("HTML", "HTML"), ("MARK", "Markdown"), ("MARK_HTML", "Markdown and HTML"), ) format = models.CharField(max_length=9, choices=FORMATS) def __str__(self): return self.name def get_content(self): # The content field is already sanitized, according to the settings (see the save() function below) # So when we retrieve the html content we can trust this is safe, and will mark it as such # We avoid using |safe in templates -- to centralize the effort to sanitize input if self.content: return mark_safe(self.content_html) else: return "" class Meta: ordering = ["position"] def save(self, *args, **kwargs): if not self.content: self.content_html = None elif self.format == "HTML": # Here it wouldn't hurt to apply bleach and take out unnecessary tags self.content_html = self.content elif self.format == "MARK_HTML": # Here it wouldn't hurt to apply bleach and take out unnecessary tags self.content_html = markdown(self.content) elif self.format == "MARK": self.content_html = markdown(bleach.clean(self.content)) if not self.slug: self.slug = slugify(unidecode(self.name)) super().save(*args, **kwargs)
class Producto(models.Model): PRODUCTS_CHOICE = ( ("Calca", "Calça"), ("Camisa", "Camisa"), ("Bermuda", "Bermuda"), ("Saia", "Saia"), ("Vestido", "Vestido"), ) pro_inst = models.CharField('Tipo:', max_length=9, choices=PRODUCTS_CHOICE) pro_name = models.CharField('Nome', max_length=255) pro_description = models.TextField('Descrição', max_length=255) pro_price = models.DecimalField('Preço', max_digits=6, decimal_places=2) pro_img = StdImageField('Foto', upload_to='Producto')
class ImgGallery(models.Model): img = StdImageField(verbose_name='图片', upload_to='gallery', variations={'thumbnail': { 'width': 75, 'height': 75 }}) update = models.DateTimeField('上传时间', False, auto_now_add=True) url = models.URLField(verbose_name="图片指向链接") class Meta: verbose_name = "图集" verbose_name_plural = verbose_name
class Post(models.Model): title = models.CharField(max_length=150) text = models.TextField(blank=True) image = StdImageField(upload_to='picture/news', blank=True, variations={ 'large': (600, 400), 'thumbnail': (100, 100, True), 'medium': (300, 200), }) created_datetime = models.DateTimeField(auto_now_add=True) updated_datetime = models.DateTimeField(auto_now=True) def __str__(self): return self.title
class Testimonial(Base): name = models.CharField('Name', max_length=15) status = models.CharField('Status', max_length=30) description = models.CharField('Description', max_length=100) image = StdImageField('Image', upload_to='testimonials', variations={'thumb': {'width': 100, 'height': 100, 'crop': True}}) class Meta: verbose_name = 'Testimonial' verbose_name_plural = 'Testimonials' def __str__(self): return self.name
class Time(models.Model): nome = models.CharField(_('Nome'), max_length=100) sigla = models.CharField(_('Sigla'), max_length=5) bandeira = StdImageField(_('Foto'), null=True, blank=True, upload_to=get_file_path, variations={'thumb': {'width': 480, 'height': 331, 'crop': True}}) class Meta: verbose_name = _("Time") verbose_name_plural = _("Times") def __str__(self): return self.nome
class Profile(models.Model): '''個人情報''' user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.PROTECT) user_name = models.CharField('氏名', max_length=15, blank=True) user_nickname = models.CharField('ユーザーネーム', max_length=15, blank=True) image_profile = StdImageField('プロフィール画像', upload_to='img/', blank=True, variations={ 'thumbnail': { "width": 150, "height": 150, "crop": True }, 'medium': { "width": 400, "height": 400, "crop": True }, }) image_cover = StdImageField('カバー画像', upload_to='img/', blank=True, variations={ 'cover': { "width": 1920, "height": 720, "crop": True }, }) user_from = models.CharField('都道府県', max_length=15, choices=FROM_CHOICE) user_address = models.CharField('住所', max_length=300, blank=True) user_text = models.TextField('自己紹介(160文字以内)', blank=True, max_length=160) user_cleate_date = models.DateTimeField('作成日', default=timezone.now) user_update_date = models.DateTimeField('更新日', auto_now=True) def __str__(self): return '{0}{1}'.format(self.user_address, self.user_update_date)