class Gamebook_art(models.Model): objects = RandomManager() title = models.CharField(max_length=255, default='') slug = models.SlugField(blank=True, editable=False, max_length=255) body = models.TextField(default='') date = models.DateTimeField(auto_now_add=True) thumbnail = models.ImageField(upload_to='content_thumbnails', default='') image1 = models.ImageField(default='', upload_to="Screenshoot") image2 = models.ImageField(default='', upload_to="Screenshoot") min_req = models.TextField(default='') rec_req = models.TextField(default='') Video_url = models. URLField(default='', blank=True, max_length=1000) Gdrive1 = models.URLField(default='', blank=True, max_length=1000) Gdrive2 = models.URLField(default='', blank=True, max_length=1000) def save(self): self.slug = slugify(self.title) super(Gamebook_art, self).save() print(Gamebook_art.slug) def __str__(self): return '{}, {}'.format(self.id, self.title) snp = 250 def snippet(self): return self.body [:self.snp] + ' [...]'
class Producto(models.Model): objects = RandomManager() categoria = models.ForeignKey(Categoria, related_name='productos', on_delete=models.CASCADE) nombre = models.CharField(max_length=200, db_index=True) slug = models.SlugField(max_length=200, db_index=True) unidad = models.CharField(max_length=8, default='') imagen = models.ImageField(upload_to='productos/%Y/%m/%d', blank=True) url_imagen = models.CharField(max_length=200, default='', blank=True) descripcion = models.TextField(blank=True) preciopub = models.DecimalField(max_digits=12, decimal_places=2) stock = models.PositiveIntegerField() disponible = models.BooleanField(blank=True, default=True) creado = models.DateTimeField(auto_now_add=True) modificado = models.DateTimeField(auto_now=True) destacado = models.BooleanField(blank=True, default=False) descuento = models.DecimalField(max_digits=12, decimal_places=2, default=0) codigobarra = models.CharField(max_length=14, default='') class Meta: ordering = ('nombre',) index_together = (('id', 'slug'),) def __str__(self): return self.nombre def get_absolute_url(self): return reverse('shop:detalle_producto', args=[self.id, self.slug])
class Recipe(models.Model): name = models.CharField(max_length=128) image = models.ImageField(upload_to='recipes/', blank=True, null=True) storage = models.ForeignKey(Storage, on_delete=models.PROTECT, blank=True, null=True) file_uid = models.CharField(max_length=256, default="", blank=True) file_path = models.CharField(max_length=512, default="", blank=True) link = models.CharField(max_length=512, null=True, blank=True) cors_link = models.CharField(max_length=1024, null=True, blank=True) keywords = models.ManyToManyField(Keyword, blank=True) steps = models.ManyToManyField(Step, blank=True) working_time = models.IntegerField(default=0) waiting_time = models.IntegerField(default=0) internal = models.BooleanField(default=False) nutrition = models.ForeignKey(NutritionInformation, blank=True, null=True, on_delete=models.CASCADE) created_by = models.ForeignKey(User, on_delete=models.PROTECT) created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) objects = RandomManager() def __str__(self): return self.name
class Post(models.Model): title = models.CharField(max_length=60) body = RichTextField(max_length=10000) pub_date = models.DateField() slug = models.SlugField(max_length=140, unique=True, blank=True) state = models.IntegerField(default=STATE_CHOICES[0][0], choices=STATE_CHOICES) author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) cat = models.ForeignKey(Category, to_field='identy', on_delete=models.CASCADE, default=1) thumb = models.ImageField(default='default.png', blank=True, upload_to='post/%Y/%m/%D/') # Random objects = RandomManager() def __str__(self): return self.title def get_absolute_url(self): return reverse('blog:view', kwargs={'pk': self.id, 'slug': self.slug}) def snippet(self): return strip_tags(self.body[:300]) + '...'
class MissingPerson(models.Model): objects = RandomManager() case_qr_code = models.URLField(max_length=2500, null=True) thumbnail_url = models.URLField(max_length=2500, null=True) agency_zip = models.CharField(max_length=2000, null=True) agency_address = models.CharField(max_length=2000, null=True) agency_state = models.CharField(max_length=2000, null=True) agency_city = models.CharField(max_length=2000, null=True) agency_name = models.CharField(max_length=2000, null=True) circumstances = models.CharField(max_length=10000000, null=True) eye_color = models.CharField(max_length=2000, null=True) hair_color = models.CharField(max_length=2000, null=True) ethnicity = models.CharField(max_length=2000, null=True) weight = models.CharField(max_length=2000, null=True) height = models.CharField(max_length=2000, null=True) gender = models.CharField(max_length=2000, null=True) age_when_missing = models.CharField(max_length=2000, null=True) current_age = models.CharField(max_length=2000, null=True) last_name = models.CharField(max_length=2000, null=True) first_name = models.CharField(max_length=2000, null=True) id_number = models.CharField(max_length=2000, null=True, unique=True) date_reported = models.CharField(max_length=2000, null=True) agency_website = models.URLField(max_length=2500, null=True) def __str__(self): name = '{} {}'.format(self.first_name, self.last_name) return name
class Hospital(models.Model): objects = RandomManager() name = models.CharField(max_length=64, validators=[ text_validator, ]) #the type can be like private practice, general hospital, specialised hospital type = models.CharField(max_length=64, choices=HOSPITAL_TYPE) address = models.CharField(max_length=256) #taking_patients must be true for patients to be able to register at the hospital taking_patients = models.BooleanField(default=True) #delete the hospital's group on delete def delete(self, *args, **kwargs): super(Hospital, self).delete(*args, **kwargs) group = Group.objects.get(name=self.name) group.delete() #make a group for the hospital on save def save(self, *args, **kwargs): super(Hospital, self).save(*args, **kwargs) group, created = Group.objects.get_or_create(name=self.name) def __str__(self): return self.name
class Question(models.Model): text = models.TextField(max_length=500) weight = models.IntegerField(choices=[(x, x) for x in range(5, 21)]) randoms = RandomManager() objects = models.Manager() def __str__(self): return self.text
class Movie(models.Model): objects = RandomManager() title = models.CharField(max_length=100, default='') titleEng = models.CharField(max_length=100, default='') director = models.CharField(max_length=50, default='') actors = models.CharField(max_length=100, default='') nation = models.CharField(max_length=50, default='') plot = models.TextField() runtime = models.CharField(max_length=50, default='') genre1 = models.ForeignKey(Genre, null=True, on_delete=models.SET_NULL, related_name='movie_main_genre') genre2 = models.ForeignKey(Genre, null=True, on_delete=models.SET_NULL, related_name='movie_sub_genre') ratingGrade = models.CharField(max_length=50, default='') releaseDt = models.CharField(max_length=50, default='') descriptions = models.CharField(max_length=100, default='') poster = models.CharField(max_length=100, default='') stills = models.TextField() awards = models.TextField() keyword1 = models.ForeignKey(Keyword, null=True, on_delete=models.SET_NULL, related_name='movie_main_keyword') keyword2 = models.ForeignKey(Keyword, null=True, on_delete=models.SET_NULL, related_name='movie_sub_keyword1') keyword3 = models.ForeignKey(Keyword, null=True, on_delete=models.SET_NULL, related_name='movie_sub_keyword2') def genre1_name(self): return Genre.objects.get(id=self.genre1.id).name def genre2_name(self): return Genre.objects.get(id=self.genre1.id).name def keyword1_content(self): if self.keyword1: return Keyword.objects.get(id=self.keyword1.id).content def keyword2_content(self): if self.keyword2: return Keyword.objects.get(id=self.keyword2.id).content def keyword3_content(self): if self.keyword3: return Keyword.objects.get(id=self.keyword3.id).content def __str__(self): return f'{self.id}: {self.title}'
class Article(models.Model): objects = RandomManager() title = models.TextField(verbose_name='Title') author = models.CharField(max_length=64, verbose_name='Author', null=True) date = models.CharField(max_length=64, verbose_name='Publish date', null=True) brief = models.TextField(verbose_name='Brief', null=True) free_text = models.TextField(verbose_name='Free part', null=True) pay_text = models.TextField(verbose_name='Full part', null=True)
class PostData(models.Model): id = models.AutoField(primary_key=True) content = models.CharField(max_length=200, null=False, blank=False) owner = models.ForeignKey(UserData, related_name='posts', on_delete=models.CASCADE) objects = RandomManager() def __str__(self): return 'Id: %s, Owner: %s' % (self.id, self.owner.name)
class PuzzleVideo(models.Model): video = models.FileField('Видео', upload_to='puzzlevideo/', blank=False, null=True) objects = RandomManager() def __str__(self): return f'Видео пазла {self.id}' class Meta: verbose_name = "Видео пазла" verbose_name_plural = "Видео для пазлов"
class PuzzleImage(models.Model): video = models.FileField('Картинка', upload_to='puzzleimage/', blank=False, null=True) objects = RandomManager() def __str__(self): return f'Картинка пазла {self.id}' class Meta: verbose_name = "Картинка пазла" verbose_name_plural = "Картинка для пазлов"
class Blog(models.Model): category = models.ForeignKey(Category, on_delete=models.CASCADE) title = models.CharField(max_length=100) author = models.CharField(max_length=50, default="Admin") content = models.TextField() date = models.DateField(default=datetime.now) image = models.ImageField(upload_to='blog/') objects = RandomManager() def __str__(self): return self.title + " | " + self.category.title
class Trechos(models.Model): objects = RandomManager() video_endereco = models.CharField(max_length=100) video_assunto = models.CharField(max_length=100) inicio = models.IntegerField() fim = models.IntegerField() def __str__(self): return 'ID: ' + str( self.pk ) + ' Vídeo: ' + self.video_endereco + ' Assunto: ' + self.video_assunto + ' Inicio: ' + str( self.inicio) + ' Fim: ' + str(self.fim)
class Card(models.Model): objects = RandomManager() deck = models.ForeignKey(Deck, on_delete=models.CASCADE) name = models.CharField(max_length=50) image = models.ImageField(upload_to='taarot_images', blank=True) number = models.IntegerField() words = models.ManyToManyField(Word, blank=True) description = models.TextField(help_text="Enter a description", blank=True) def __str__(self): return self.name
class Question(models.Model): question = models.CharField(max_length=200) related_qcollection = models.ForeignKey(QCollection, on_delete=models.CASCADE) objects = RandomManager() def __str__(self): return self.question def get_absolute_url(self): from django.urls import reverse return reverse('mainland:q_detail', kwargs={'pk': self.pk})
class Question(models.Model): objects = RandomManager() age_and_category = models.ForeignKey(AgeCategory, on_delete=models.CASCADE) QID = models.CharField(max_length=50) problem = models.CharField(max_length=200, default="") answer = models.CharField(max_length=50) choice1 = models.CharField(max_length=50) choice2 = models.CharField(max_length=50) choice3 = models.CharField(max_length=50) def __str__(self): return self.problem
class Car(models.Model): objects = RandomManager() category = models.CharField(max_length=30, choices=choices.CATEGORY, null=True) car_model = models.CharField(max_length=30, choices=choices.CAR_MODELS, null=True) name = models.CharField(max_length=100) year = models.IntegerField(choices=choices.YEAR, null=True) price = models.IntegerField() #Գին running = models.IntegerField( validators=[MaxValueValidator(1000000), MinValueValidator(100)]) #Վազքը modification = models.CharField(max_length=100, blank=True, null=True) #Մոդիֆիկացիա shed = models.CharField(max_length=30, choices=choices.SHED, null=True) #Թափք transfer_box = models.CharField(max_length=30, choices=choices.TRANSFER_BOX, null=True) #Փոխանցման տուփ wheel = models.CharField(max_length=30, choices=(("Ձախ", "Ձախ"), ("Աջ", "Աջ")), null=True) #Ղեկ engine = models.CharField(max_length=30, choices=choices.ENGINE, null=True) #Շարժիչ color = models.CharField(max_length=30, choices=choices.COLOR, null=True) #Գույնը color_of_the_hall = models.CharField(max_length=30, choices=choices.COLOR, null=True) #Սրահի գույնը engine_capacity = models.CharField(choices=choices.ENGINE_CAPACITY, max_length=5, null=True) #Շարժիչի ծավալը horsepower = models.IntegerField() #Ձիաուժ cycling = models.IntegerField( validators=[MaxValueValidator(25), MinValueValidator(10)]) #Անվահեծերը picture = models.ImageField(upload_to='Pictures/', default='static_images/default.jpg') author = models.ForeignKey(User, on_delete=models.CASCADE, null=True) def __str__(self): x = " " return str(self.car_model) + x + str(self.name) + x + str( self.year) + " " + str(self.horsepower) + "HP"
class Restaurante(models.Model): statuses = ( ('Activo', 'Activo'), ('Inactivo', 'Inactivo'), ('Eliminado', 'Eliminado'), ) visible = ( (u'Público','Público'), ('Privado','Privado'), ) objects = RandomManager() rif = models.CharField(max_length=13) nombre = models.CharField(max_length=100, help_text='Introduzca el nombre de su restaurante.', unique=True) slug = models.SlugField(max_length=100) logo = models.ImageField(upload_to='uploads/img/logos/', default='uploads/img/logos/ico.png') descripcion = models.TextField(max_length=300) status = models.CharField(max_length=20, default='Activo', choices=statuses, editable=False) abierto = models.BooleanField(default=True, help_text='Desmarcar si su restaurante se encuentra cerrado') visibilidad = models.CharField(max_length=10, null=True, choices=visible) #Claves foraneas y de otras tablas cliente = models.ForeignKey(Cliente) categoria = models.ManyToManyField(Categoria) servicios = models.ManyToManyField(Servicio) metodos_pago = models.ManyToManyField(Metodo) votos = models.ManyToManyField(Voto) plan = models.ForeignKey(Plan) def save(self, *args, **kwargs): self.slug = defaultfilters.slugify(self.nombre) super(Restaurante, self).save(*args, **kwargs) class Meta: ordering = ('nombre',) verbose_name = _('Restaurante') verbose_name_plural = _('Restaurantes') def __unicode__(self): return u"Nombre: %s. Dueno: %s" %(self.nombre, self.cliente)
class Highlight(IndexedTimeStampedModel): objects = RandomManager() book = models.ForeignKey(Book, related_name="highlights", on_delete=models.CASCADE) content = models.TextField() tags = models.ManyToManyField(Tag, related_name="highlights", blank=True) favorite = models.BooleanField(default=False) should_be_reviewed = models.BooleanField(null=True) frequency = models.CharField( max_length=255, choices=RETRIEVAL_FREQUENCY, default=RETRIEVAL_FREQUENCY.initial, ) last_reviewed_date = models.DateTimeField(auto_now_add=True, null=True) reviews_count = models.PositiveIntegerField(default=0) def __str__(self): return f"{self.book.name}: {self.content}"
class Title(models.Model): text = models.CharField(max_length=255, unique=True) picks = models.IntegerField(default=0) appearances = models.IntegerField(default=0) users = models.ManyToManyField(User, 'picks') author = models.ForeignKey( User, on_delete=models.CASCADE, related_name='titles', ) objects = RandomManager() @property def winrate(self): return round(self.picks / self.appearances * 100, 1) def __str__(self): return self.text
class Board(models.Model): title = models.CharField(max_length=255, verbose_name='Tytuł') slug = AutoSlugField(populate_from='title', unique=True) image = ImageField(blank=True, manual_crop="" ,verbose_name='Tło') body = models.TextField(verbose_name='Opis kategorii') author = models.ForeignKey(User, on_delete=models.CASCADE) subscribers = models.ManyToManyField(User, related_name='subscribed_boards', blank=True) created_at = models.DateTimeField(auto_now_add=True) objects = RandomManager() def __str__(self): return self.title class Meta: ordering = ['-created_at'] verbose_name='Dział' def get_absolute_url(self): return reverse('board', args=[self.slug])
class RestaurantCategory(models.Model): name = models.CharField(max_length=200, null=False, blank=True) country = models.CharField(max_length=200, null=False, blank=False) image = models.ImageField(upload_to=restaurants_category_image_path, null=False, blank=False) created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now_add=True) objects = RandomManager() def __str__(self): return self.name def __unicode__(self): return self.name @property def restaurants(self): branches = [] restaurants = tingweb.models.CategoryRestaurant.objects.filter( category__id=self.pk) for resto in restaurants: for b in resto.restaurant.branches: branches.append(b) return branches @property def restaurants_counts(self): return len(self.restaurants) @property def to_json(self): return { 'id': self.pk, 'name': self.name, 'country': self.country, 'image': self.image.url, 'createdAt': self.created_at.strftime('%Y-%m-%d %H:%M:%S'), 'updatedAt': self.updated_at.strftime('%Y-%m-%d %H:%M:%S') }
class Post(models.Model): def __str__(self): return self.post_header #FK user = models.ForeignKey(User, on_delete=models.CASCADE) media = models.ForeignKey(Media, on_delete=models.CASCADE, blank=True, null=True) photo = models.ForeignKey(Photo, on_delete=models.CASCADE, blank=True, null=True) post_header = models.CharField(max_length=50, blank=True, unique=False) post_body = models.TextField(max_length=500, blank=True, unique=False) post_created = DateTimeField(auto_now_add=True) post_updated = DateTimeField(auto_now=True) objects = RandomManager()
class Card(models.Model): id = models.UUIDField( primary_key=True, default=uuid.uuid4, help_text='Unique ID for this particular card across whole library') deck = models.ForeignKey('Deck', on_delete=models.CASCADE, related_name='cards') question_image = models.CharField( max_length=1000, null=True, blank=True, help_text='Enter a url for question image. (Optioinal)') question_image_upload = models.ImageField( upload_to='images/', blank=True, null=True, help_text='Upload an image for card question. (Optional)') question_text = models.CharField( max_length=1000, null=True, blank=True, help_text= 'Enter your question in text form. (Optional, Default if no image)') answer = models.CharField( max_length=255, help_text='Enter the answer to the question. (Required)') answered = models.BooleanField(default=False) return_to_pile = models.BooleanField(default=False) objects = RandomManager() def __str__(self): return self.answer def get_absolute_url(self): return reverse('card-detail', args=[str(self.id)])
class RandomManagerMixin: """Allows selection of a random item from a queryset.""" objects = RandomManager()
class Photo(models.Model, HitCountMixin): user = models.ForeignKey(Propicker, on_delete=models.CASCADE) name = models.CharField('사진이름', max_length=200) ANIMAL = 0 PERSON = 1 OBJECT = 2 NATURE = 3 FOOD = 4 TRAVEL = 5 SEASON = 6 WEATHER = 7 CONSTRUCT = 8 MOVING = 9 ECT = 10 GENRE = ( (ANIMAL, '동물'), (PERSON, '사람'), (OBJECT, '사물'), (NATURE, '풍경/자연'), (FOOD, '음식'), (TRAVEL, '여행'), (SEASON, '계절'), (WEATHER, '날씨'), (CONSTRUCT, '건축'), (MOVING, '동적 이미지'), (ECT, '기타'), ) genre = models.IntegerField('장르', choices=GENRE) uploaded_at = models.DateTimeField(auto_now_add=True) img = models.ImageField(upload_to='orgin', storage=MediaStorage()) img_thumbnail = models.ImageField(upload_to='thumbnail/high', blank=True, storage=MediaStorage()) img_thumbnail_d = models.ImageField(upload_to='thumbnail/down', blank=True, storage=MediaStorage()) img_thumbnail_f = models.ImageField(upload_to='thumbnail/free', blank=True, storage=MediaStorage()) content = models.TextField('사진 소개', max_length=260, null=True) tag = TagField() objects = RandomManager() price = models.IntegerField('사진 금액', default=0) create_date = models.DateTimeField('사진 작성일', auto_now_add=True) modify_date = models.DateTimeField('사진 수정일', auto_now=True, null=True) download_count = models.IntegerField('다운로드횟수', default=0) view_count = models.IntegerField('조회수', default=0) like_user_set = models.ManyToManyField( User, blank=True, related_name='like_user_set', through='Like') # post.like_set 으로 접근 가능 cart_add = models.ManyToManyField('cart.Cart', blank=True, related_name='cart_add_set', through='cart.PhotoDetail') class META: verbose_name = '사진' verbose_name_plural = '사진모음' ordering = [ '-pk', ] def make_thumbnail(self): size = (500, 500) f = MediaStorage().open(self.img.name) image = Image.open(f) ftype = image.format image = ImageOps.fit(image, size, Image.ANTIALIAS) path, ext = os.path.splitext(self.img.name) name = os.path.basename(path) thumbnail_name = '%s_thumb%s' % (name, ext) temp_file = BytesIO() image.save(temp_file, ftype) temp_file.seek(0) content_file = ContentFile(temp_file.read()) self.img_thumbnail.save(thumbnail_name, content_file) temp_file.close() content_file.close() f.close() def make_thumbnail2(self): size = (400, 400) f = MediaStorage().open(self.img.name) image = Image.open(f) ftype = image.format image = ImageOps.fit(image, size, Image.ANTIALIAS) path, ext = os.path.splitext(self.img.name) name = os.path.basename(path) thumbnail_name = '%s_thumb%s' % (name, ext) temp_file = BytesIO() image.save(temp_file, ftype) temp_file.seek(0) content_file = ContentFile(temp_file.read()) self.img_thumbnail_d.save(thumbnail_name, content_file) temp_file.close() content_file.close() f.close() def make_thumbnail3(self): size = (300, 300) f = MediaStorage().open(self.img.name) image = Image.open(f) ftype = image.format image = ImageOps.fit(image, size, Image.ANTIALIAS) path, ext = os.path.splitext(self.img.name) name = os.path.basename(path) thumbnail_name = '%s_thumb%s' % (name, ext) temp_file = BytesIO() image.save(temp_file, ftype) temp_file.seek(0) content_file = ContentFile(temp_file.read()) self.img_thumbnail_f.save(thumbnail_name, content_file) temp_file.close() content_file.close() f.close() def save(self, *args, **kwargs): image_changed = False if self.img and not self.img_thumbnail: image_changed = True if self.pk: # pk가 존재하면 pk에 해당하는 사진을 ori에 저장하라 ori = Photo.objects.get(pk=self.pk) if ori.img != self.img: # 만약 ori.img와 현재 이미지가 다르면 이미지 변경을 실행하라 image_changed = True super().save(*args, **kwargs) if image_changed: self.make_thumbnail() self.make_thumbnail2() self.make_thumbnail3() def __str__(self): return '{}'.format(self.pk) def price_dpx(self): return (int)(self.price * 0) def price_mpx(self): return (int)(self.price * 0.5) def price_mhpx(self): return (int)(self.price * 0.75) def get_absolute_url(self): return reverse('gallery:photo_detail', args=(self.id, )) @property def like_count(self): return self.like_user_set.count()
class GameImage(models.Model): image = models.ImageField(blank=True, upload_to='game_images/') objects = RandomManager()
class Quote(models.Model): text = models.TextField() author = models.CharField(max_length=200) contributor = models.CharField(max_length=200) published = models.BooleanField(default=False) objects = RandomManager()
class Ad(models.Model): image = models.ImageField(blank=True, upload_to='ad/') video = models.FileField(blank=True, upload_to='ad/') objects = RandomManager()