class UserImage(models.Model): original = ProcessedImageField(upload_to=get_unique_file_path, format='JPEG', options={'quality': 100}) medium = ImageSpecField(source=original, processors=[SmartResize(100, 100)], format='JPEG', options={'quality': 100}) small = ImageSpecField(source=original, processors=[SmartResize(50, 50)], format='JPEG', options={'quality': 100}) @img_url_cache(img_type='original') def get_original_url(self): try: return self.original.url except Exception: return '' @img_url_cache(img_type='original') def get_medium_url(self): try: return self.medium.url except Exception: return '' @img_url_cache(img_type='original') def get_small_url(self): try: return self.small.url except Exception: return ''
class Image(models.Model): file = models.ImageField('Datei') creator = models.ForeignKey('gestalten.Gestalt', related_name='images', on_delete=models.PROTECT) preview_api = ImageSpecField( source='file', processors=[Transpose(), SmartResize(250, 250)]) preview_content = ImageSpecField( source='file', processors=[Transpose(), SmartResize(200, 200)]) preview_gallery = ImageSpecField( source='file', processors=[Transpose(), ResizeToFit(250)]) preview_group = ImageSpecField( source='file', processors=[Transpose(), SmartResize(366, 120)]) intro = ImageSpecField(source='file', processors=[Transpose(), ResizeToFit(554)]) sidebar = ImageSpecField(source='file', processors=[Transpose(), ResizeToFit(313)]) facebook_meta = ImageSpecField(source='file', processors=[Transpose(), ResizeToFit(800)]) twitter_meta = ImageSpecField( source='file', processors=[Transpose(), SmartResize(600, 300)]) def __str__(self): return '{} ({})'.format(self.file, self.creator)[2:]
class Photo(models.Model): PORTRAIT = 'P' LANDSCAPE = 'L' ORIENTATION_CHOICES = ((PORTRAIT, 'Portrait'), (LANDSCAPE, 'Landscape')) project = models.ForeignKey(Project, on_delete=models.CASCADE, related_name="photos") photo = models.ImageField(upload_to='project_photos/') orientation = models.CharField(max_length=1, choices=ORIENTATION_CHOICES) display_order = models.IntegerField() portrait = ImageSpecField(source='photo', processors=[ SmartResize(500, 700), ResizeCanvas(1110, 700, color='black') ], format='JPEG', options={'quality': 60}) landscape = ImageSpecField(source='photo', processors=[SmartResize(1110, 700)], format='JPEG', options={'quality': 60}) thumbnail = ImageSpecField(source='photo', processors=[SmartResize(400, 200)], format='JPEG', options={'quality': 60}) credit = models.CharField(max_length=100) @property def is_landscape(self): return self.orientation == self.LANDSCAPE def __str__(self): return '{} {}'.format(self.project.title, self.pk)
class Nancy(models.Model): user_id = models.ForeignKey( User, on_delete=models.CASCADE) #relationship 1:n (user:todos) ?? dateCreated = models.DateField(auto_now_add=True) #automatic dateCompleted = models.DateField(null=True, blank=True) #blank at first ? mealName = models.CharField(max_length=30) scheduled = models.BooleanField(default=False) description = models.TextField(blank=True) mainIngredient = models.CharField(max_length=70) HasItamarTasted = models.BooleanField(default=False) Recipe = models.CharField(max_length=70) imagefile = models.ImageField( default='todo\static\nancy\images\Mashed_apple.png', upload_to='nancy/images') mediumIm = ImageSpecField(source='imagefile', processors=[SmartResize(80, 100)], format='PNG') smallIm = ImageSpecField(source='imagefile', processors=[SmartResize(40, 50)], format='PNG') bigImage = ImageSpecField(source='imagefile', processors=[SmartResize(200, 300)], format='PNG') def __str__(self): return self.mealName
class Gallery(models.Model): """ class describe Gallery """ title = models.CharField(max_length=125, verbose_name='назва альбому') title_image = models.ImageField(upload_to='title/', verbose_name='титульне фото') title_image_avatar = ImageSpecField( source='title_image', processors=[Transpose(), SmartResize(370, 370)], format='JPEG', options={'quality': 60}) title_image_big = ImageSpecField( source='title_image', processors=[Transpose(), SmartResize(1800, 950)], format='JPEG', options={'quality': 100}) description = models.CharField(max_length=250, blank=True, verbose_name='опис альбому') category = models.ForeignKey(CategoryGallery, on_delete=models.SET_NULL, blank=True, null=True) created = models.DateField(auto_now_add=True, verbose_name='створено') class Meta: verbose_name = 'Галерея' verbose_name_plural = "Галереї" def __str__(self): return "{}".format(self.title)
class Staff(models.Model): """ abstract class for staff """ first_name = models.CharField(max_length=125, verbose_name="ім'я") last_name = models.CharField(max_length=125, verbose_name='прізвище') middle_name = models.CharField(max_length=125, blank=True, verbose_name='по-батькові') birthday = models.DateField(verbose_name='день народження') image = models.ImageField(upload_to='staff/', verbose_name='фото') image_avatar = ImageSpecField( source='image', processors=[Transpose(), SmartResize(370, 377)], format='JPEG', options={'quality': 70}) image_small = ImageSpecField( source='image', processors=[Transpose(), SmartResize(164, 136)], format='JPEG', options={'quality': 60}) description = models.TextField(blank=True) def get_full_name(self): return "{} {} {}".format(self.last_name, self.first_name, self.middle_name) class Meta: abstract = True
class Article(News): """ model that describe post """ title = models.CharField(max_length=125, verbose_name='Заголовок') description = models.CharField(max_length=250, verbose_name='Короткий опис') image = models.ImageField(upload_to='article/', null=True, blank=True, verbose_name='фото') image_avatar = ImageSpecField( source='image', processors=[Transpose(), SmartResize(370, 215)], format='JPEG', options={'quality': 60}) image_grid = ImageSpecField( source='image', processors=[Transpose(), SmartResize(370, 304)], format='JPEG', options={'quality': 60}) category = models.ForeignKey(Category, blank=True, null=True, on_delete=models.SET_NULL, verbose_name='Категорія') is_approve = models.BooleanField(default=False) def __str__(self): return '"{}" {}'.format(self.title, self.author) class Meta: verbose_name = 'Стаття' verbose_name_plural = 'Статті'
class Event(models.Model): owner = models.ForeignKey(Musician, on_delete=models.CASCADE, related_name="events") title = models.CharField(max_length=255) date_time = models.DateTimeField() description = models.TextField() public = models.BooleanField(default=True) save_event = models.ManyToManyField(User, related_name="save_event", blank=True) favorited_by = models.ManyToManyField(User, related_name="favorite_event", blank=True) in_progress = models.BooleanField(default=False) genre = models.CharField(max_length=255, null=True, blank=True) viewers = models.IntegerField(default=0) video = models.FileField(upload_to="videos/", null=True, blank=True) cover_photo = models.ImageField(upload_to="images/", null=True, blank=False) thumbnail = ImageSpecField( source="cover_photo", processors=[ Transpose(), SmartResize(250, 188), ], format="JPEG", options={"quality": 100}, ) full_cover = ImageSpecField( source="cover_photo", processors=[ Transpose(), SmartResize(600, 480), ], format="JPEG", options={"quality": 100}, ) def __str__(self): return f'{self.title} by {self.owner.user.username}' @property def is_upcoming(self): now = datetime.now() timezone = pytz.timezone("America/New_York") now_aware = timezone.localize(now) return self.date_time > now_aware @property def is_finished(self): now = datetime.now() timezone = pytz.timezone("America/New_York") now_aware = timezone.localize(now) return self.date_time < now_aware and not self.in_progress
class Employee(models.Model): class Meta(): ordering = ['first_name'] user = models.OneToOneField( settings.AUTH_USER_MODEL, models.SET_NULL, verbose_name='user id', blank=True, null=True) department = models.ForeignKey( Department, models.SET_NULL, verbose_name='department id', blank=True, null=True) status_code = models.SmallIntegerField('status code activity of user', default=0) first_name = models.CharField(max_length=255, null=True, blank=True) last_name = models.CharField(max_length=255, null=True, blank=True) age = models.IntegerField('age of user', blank=True, null=True) about_me = models.CharField('introduce about me of user', max_length=400) birthday = models.DateTimeField( 'birthday of user', auto_now=False, auto_now_add=False, blank=True, null=True) avatar_original = ProcessedImageField( null=True, blank=True, processors=[Transpose()], format='JPEG', options={'quality': 50}) small = ImageSpecField( source='avatar_original', processors=[Transpose(), SmartResize(640, 505)], format='JPEG', options={'quality': 50}) medium = ImageSpecField( source='avatar_original', # processors=[Transpose(), ResizeToFit(640, 600, False)], # processors=[Transpose(), SmartResize(320, 300)], processors=[Transpose(), SmartResize(640, 600)], format='JPEG', options={'quality': 70}) created_date = models.DateTimeField(auto_now_add=True) modified_date = models.DateTimeField(null=True, blank=True) objects = EmployeeManager() def full_name(self): """Custom full name method as a property.""" return str(self.first_name) + ' ' + str(self.last_name) def __str__(self): """Default string.""" return self.user.email if self.user else ''
class Profile(models.Model): cover = models.ImageField(upload_to="profile/cover/%Y/%m/%d") cover_x256 = ImageSpecField(source='cover', processors=[SmartResize(256, 256)], format='JPEG', options={'quality': 60}) cover_x512 = ImageSpecField(source='cover', processors=[SmartResize(512, 512)], format='JPEG', options={'quality': 60})
class SpecialTopicInfo(models.Model): """docstring for SpecialTopicInfo""" STI_ID = models.CharField(primary_key=True, auto_created=True, max_length=12, default=str(uuid.uuid4())[-12:], verbose_name='专题ID') STI_Title = models.CharField(max_length=35, unique=True, verbose_name='专题标题') STI_Cover = models.ImageField(upload_to='Cover', blank=False, verbose_name='封面图', default='') STI_Cover_210x140 = ImageSpecField(source='STI_Cover', processors=[SmartResize(210, 140)], format='JPEG', options={'quality': 95}) STI_Cover_SR965x300 = ImageSpecField(source='STI_Cover', processors=[SmartResize(965, 300)], format='JPEG', options={'quality': 95}) STI_EditDate = models.DateField(auto_now=True, verbose_name='发布时间') STI_Publisher = models.ForeignKey(User, to_field='username', related_name='Publisher', on_delete=models.CASCADE, verbose_name='发布者') STI_Type = models.CharField(max_length=10, default='article', verbose_name='专题类型') STI_Follower = models.IntegerField(default=0, blank=False, verbose_name='关注量') STI_Hot = models.IntegerField(default=10, blank=False, verbose_name='热度') STI_Abstract = models.CharField(max_length=30, blank=False, default='', verbose_name='简介') STI_Content = RichTextUploadingField(null=True, blank=True, config_name='admin', verbose_name='正文') STI_Comment = models.IntegerField(verbose_name='评论数', default=0) class Meta: verbose_name = '专题' # 末尾不加s verbose_name_plural = '**3**专题信息**3**' app_label = 'NTWebsite' def __str__(self): return self.STI_Title
class Campaign(models.Model): title = models.CharField(max_length=200) slug = models.SlugField(unique=True,blank=True,null=True) perk = models.CharField(max_length=200,blank=True,null=True) niche = models.CharField(max_length=200,blank=True,null=True) requirement = models.IntegerField(default=0) description = models.TextField() category = models.ForeignKey(Category,related_name='campaigns',blank=True,null=True) slots = models.IntegerField(default=0) image = models.FileField(upload_to=get_upload_file_name,null=True,blank=True) image_thumbnail250= ImageSpecField(source='image', processors=[Transpose(),SmartResize(250,250)], format='JPEG', options={'quality':80}) image_thumbnail80= ImageSpecField(source='image', processors=[Transpose(),SmartResize(80,80)], format='JPEG', options={'quality':80}) postDate = models.DateTimeField(auto_now_add=True) startDate = models.DateField(blank=True,null=True) endDate = models.DateField(blank=True,null=True) product = models.BooleanField(default=False) discount = models.BooleanField(default=False) cash = models.BooleanField(default=False) twitter = models.BooleanField(default=False) facebook = models.BooleanField(default=False) instagram = models.BooleanField(default=False) youtube = models.BooleanField(default=False) vine = models.BooleanField(default=False) snapchat = models.BooleanField(default=False) paid = models.BooleanField(default=False) active = models.BooleanField(default=True) user = models.ForeignKey(User, related_name='campaigns',null=True,blank=True) def __unicode__(self): return self.title def save(self, **kwargs): #This overwrites the save function and makes sure the slug is unique. #Note slug is a separate file slug.py with the unique_slugify function. from slug import unique_slugify slug_str="%s"%self.title unique_slugify(self, slug_str) super(Campaign, self).save()
class Imagem(models.Model): objects = ImagemManger() todo = models.ForeignKey(Todo, on_delete=models.CASCADE) descricao = models.CharField(max_length=255, null=True, blank=True) imagem = ProcessedImageField( upload_to='todo/%Y-%m', processors=[SmartResize(width=1920, height=1080, upscale=False)], format='JPEG', options={'quality': 70}, ) thumbnail = ImageSpecField( source='imagem', processors=[ResizeToFill(300, 300)], format='JPEG', options={'quality': 60} ) created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True, null=True) def save(self, **kwargs): # orig = None if self.pk is None else Imagem.objects.get(pk=self.pk) # if orig and orig.imagem != self.imagem: # kwargs['update_fields'] = ['imagem'] if self.pk and has_changed(self, 'imagem'): kwargs['update_fields'] = ['imagem'] super().save(**kwargs) @classmethod def get_ultimas(cls, qtd): return cls.objects.order_by('-created_at')[:qtd]
class Article(models.Model): author = models.ForeignKey(User, on_delete=models.CASCADE, related_name="writen_by") title = models.CharField(max_length=400) content = models.TextField() pic = models.ImageField(upload_to='blog/', null=True, blank=True) timestamp = models.DateTimeField(auto_now=True) publish = models.BooleanField(default=False) pic_med = ImageSpecField(source='pic', processors=[SmartResize(900, 300)], format='JPEG', options={'quality': 60}) def __str__(self): return self.title def publish_article(self): self.publish = True self.save() def get_article_id(self): return self.id def get_content_markdown(self): content = self.content markdown_text = markdown(content) return mark_safe(markdown_text)
class UserProfile(models.Model): ''' User description''' user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='userprofile') bio = HTMLField(blank=True, null=True) photo = ProcessedImageField(upload_to='accounts', format='JPEG', options={'quality': 85}, blank=True, null=True, processors=[SmartResize(250, 250), ]) slug = models.SlugField(blank=False, null=True) @property def default_image(self): if self.photo: return self.photo.url else: default_image_url = '/media/accounts/default.jpg' return default_image_url def __str__(self): return f'@{self.user.username}' def save(self, *args, **kwargs): self.slug = slugify(self.user.username) super(UserProfile, self).save(*args, **kwargs)
class Photo(models.Model): """ A class representing a photo. """ photo_title = models.CharField(max_length=30, help_text="Enter the title of the photo.") photo_description = models.TextField(max_length=500, help_text="Enter a description for the photo.") photo_date = models.DateTimeField('Date', help_text="When was the photo taken?") photo_full = models.ImageField("Photo", upload_to='full', help_text="The full size image.") # Requires PIL/Pillow and django-imagekit photo_small = ImageSpecField(source='photo_full', processors=[SmartResize(450, 300)], format='JPEG', options={'quality': 60}) # quality is (worst) 1 to 100 (best) """ * A Photo can be in more than one Category * A Category can have more than one Photo """ category = models.ManyToManyField(Category) def __str__(self): return self.photo_title
class LandingPage(models.Model): photo = models.ImageField(upload_to='project_photos/') landing_page_photo = ImageSpecField(source='photo', processors=[SmartResize(2864, 1442)], format='JPEG', options={'quality': 60}) thumbnail = ImageSpecField(source='photo', processors=[SmartResize(400, 200)], format='JPEG', options={'quality': 60}) class Meta: verbose_name_plural = 'Landing page' def __str__(self): return 'Landing page'
class Book(TimeStampModel): slug = models.CharField(max_length=255, null=False, blank=True) isbn13 = models.CharField(max_length=10, null=True, blank=True) isbn10 = models.CharField(max_length=10, null=True, blank=True) title = models.CharField(max_length=255, null=False, blank=False, unique=True) edition = models.PositiveSmallIntegerField(null=True, blank=True) cover = models.ImageField(upload_to=book_cover_path, blank=True) cover_thumbnail = ImageSpecField(source='cover', processors=[SmartResize(200, 200)], options={'quality': 60}) item = models.FileField(upload_to='book_file_path') description = models.CharField(max_length=255, null=True, blank=True) author = models.ManyToManyField(Author) category = models.ManyToManyField(Category) user = models.ForeignKey(User) def __unicode__(self): return str(self.title) def __str__(self): return str(self.title) @property def get_absolute_url(self): kwargs = {'slug': self.slug} return reverse("book_detail", kwargs=kwargs) def save(self, *args, **kwargs): if not self.id: self.slug = slugify(self.title) super(Book, self).save(*args, **kwargs)
class Recipe(GrapheneFieldsMixin, models.Model): name = models.CharField(max_length=50) slug = models.SlugField(unique=True, blank=True, null=True) image = models.ImageField(blank=True, null=True, upload_to='images') image_top = ImageSpecField(source='image', processors=[SmartResize(1000, 400)], format='JPEG', options={'quality': 60}) image_thumbnail = ImageSpecField( source='image', processors=[ResizeToFit(330, 220), Adjust(sharpness=1.1)], format='JPEG', options={'quality': 60}) body = HTMLField() tags = models.ManyToManyField(Tag, related_name='recipes', blank=True) favourites = models.ManyToManyField(User, related_name='favoured', blank=True) DIFFICULTY_CHOICES = ( ('easy', 'Easy'), ('medium', 'Normal'), ('hard', 'Hard'), ) difficulty = models.CharField(max_length=6, choices=DIFFICULTY_CHOICES, default='medium', blank=True, null=True) time_need = models.SmallIntegerField(null=True, blank=True) portions = models.SmallIntegerField(null=True, blank=True) description = HTMLField(null=True, blank=True) created_at = models.DateTimeField(auto_now_add=True) def __str__(self): return self.name def save(self, *args, **kwargs): self.slug = slugify(self.name) super(Recipe, self).save(*args, **kwargs) def set_favourite(self, user, state_to_set): if not state_to_set: current_state = self.favourites.filter(pk=user.pk).exists() state_to_set = not current_state if state_to_set: self.favourites.add(user) else: self.favourites.remove(user) return True
class ThumbnailImage(models.Model): image = models.ImageField(upload_to="images/") thumbnail = ImageSpecField( source='image', processors=[SmartResize(300, 225)], format='JPEG', options={'quality': 60}, )
def __init__(self, source, width=420, height=595): self.source = source self.processors = [ Adjust(contrast=1.1, sharpness=1.1), SmartResize(width, height) ] self.format = 'JPEG' self.options = {'quality': 90}
class ShirtShot(models.Model): uploaded_by = models.ForeignKey(User, related_name='shots') shirt = models.ForeignKey(Shirt, related_name='shots') image = ProcessedImageField([ResizeToFit(2500, 2500)], format='JPEG', options={'quality': 98}, upload_to=settings.IMAGE_UPLOAD_PATH) thumbnail = ImageSpecField([SmartResize(232, 232)], image_field='image', format='JPEG', options={'quality': 95}) thumbnail_small = ImageSpecField([SmartResize(85, 85)], image_field='image', format='JPEG', options={'quality': 95}) cover = models.BooleanField(blank=True, default=False) def __unicode__(self): return self.image.name class Meta: ordering = ['-cover']
class Profile(models.Model): GENDER_CHOICES = (('M', _('Male')), ('F', _('Female')),) USER_CHOICES = ( ('User', _('User')), ('Agent', _('Agent')), ('Contact', _('Contact'))) user = models.OneToOneField(User, on_delete=models.CASCADE) about = models.TextField(_('about'), max_length=500, blank=True, default='') gender = models.CharField(_('gender'), max_length=5, choices=GENDER_CHOICES, null=True, default='M') url = models.URLField(_('website'), blank=True) location = models.CharField(_('location'), max_length=150, blank=True, default='') phone = models.CharField(max_length=20, null=True, blank=True, default='') city = models.CharField(max_length=100, default='', null=True, blank=True) country = models.CharField(max_length=100, default='', null=True, blank=True) image = models.ImageField(_('photo'), upload_to='upload/user_images', default="upload/blog_photos/amor-590x336.jpg", max_length=1024) image_thumbnail = ImageSpecField(source="image", processors=[SmartResize(100, 100)], format="PNG", options={'quality': 60}) image_big_thumbnail = ImageSpecField(source="image", processors=[SmartResize(200, 200)], format="PNG", options={'quality': 60}) image_pin = ImageSpecField(source="image", processors=[SmartResize(32, 32)], format="PNG", options={'quality': 60}) image_comment_thumb = ImageSpecField(source="image", processors=[SmartResize(45, 45)], format="PNG", options={'quality': 60}) profile_type = models.CharField(_('Type'), max_length=15, choices=USER_CHOICES, default='User') pub_date = models.DateTimeField(auto_now_add=True) update_date = models.DateTimeField(auto_now=True) is_influencer = models.BooleanField(_('influencer'), default=False, help_text='This user is a content provider and can be followed by other users') class Meta: verbose_name_plural = _('User profiles') def __str__(self): if self.user.get_full_name(): return self.user.get_full_name() return self.user.username def get_absolute_url(self): return ('profile_detail', (), {'username': self.user.username}) get_absolute_url = models.permalink(get_absolute_url)
class Event(models.Model): """ class for describe event at kindergarten """ title = models.CharField(max_length=125, verbose_name='назва події') title_image = models.ImageField(upload_to='event_title/%Y/%m/%d', blank=True, null=True, verbose_name='фото обложки') title_image_avatar = ImageSpecField( source='title_image', processors=[Transpose(), SmartResize(370, 300)], format='JPEG', options={'quality': 60}) title_image_detail = ImageSpecField( source='title_image', processors=[Transpose(), SmartResize(870, 469)], format='JPEG', options={'quality': 80}) created = models.DateField(auto_now_add=True, verbose_name='створено') scheduled = models.DateTimeField(blank=True, null=True, verbose_name='дата проведення') description = models.CharField(max_length=250, verbose_name='опис') place = models.CharField(max_length=200, blank=True, verbose_name='місце проведення') content = models.TextField(blank=True, verbose_name='контент') gallery = models.ForeignKey(Gallery, on_delete=models.CASCADE, blank=True, null=True, related_name='gallery_event', verbose_name='галерея') is_active = models.BooleanField(default=True) class Meta: verbose_name = "Подія" verbose_name_plural = "Події" def __str__(self): return "{}".format(self.title)
class UserProfile(models.Model): avatar = models.ImageField(upload_to=get_file_path, max_length=255, blank=True, null=True) avatar_thumbnail = ImageSpecField( source='avatar', processors = [Transpose(),SmartResize(200, 200)], format = 'JPEG', options = {'quality': 80} ) def profile_image_url(self): return "{}".format(self.user.profile.avatar_thumbnail.url)
class Group(models.Model): """ class describe a group """ AGE = (('L', 'Старша'), ('M', 'Середня'), ('S', 'Молодша')) name = models.CharField(max_length=125, verbose_name='назва групи') image = models.ImageField(upload_to='group/', blank=True, null=True, verbose_name='фото групи') image_avatar = ImageSpecField( source='image', processors=[Transpose(), SmartResize(370, 250)], format='JPEG', options={'quality': 70}) image_big = ImageSpecField(source='image', processors=[Transpose(), SmartResize(830, 421)], format='JPEG', options={'quality': 100}) age_group = models.CharField(max_length=1, choices=AGE, verbose_name='вікова група') tutor = models.ManyToManyField(Tutor, verbose_name='вихователь', related_name='group_tutor') section = models.ManyToManyField(Section, related_name='group_section', verbose_name='гурток') description = models.CharField(max_length=500, blank=True, verbose_name='опис групи') about_us = models.TextField(blank=True, null=True, verbose_name='про нас') def __str__(self): return "{}".format(self.name) class Meta: verbose_name = 'Група' verbose_name_plural = 'Групи'
class Page(models.Model): title = models.CharField(max_length=100) slug = models.SlugField() photo = models.ImageField(upload_to='project_photos/') thumbnail = ImageSpecField(source='photo', processors=[SmartResize(400, 200)], format='JPEG', options={'quality': 60}) text = models.TextField() class Meta: abstract = True
class Project(Page): display_order = models.IntegerField() architect = models.CharField(max_length=100) awards = models.TextField(blank=True) project_photo = ImageSpecField(source='photo', processors=[SmartResize(1110, 700)], format='JPEG', options={'quality': 60}) photo_credit = models.CharField(max_length=100) def __str__(self): return self.title
class Profile(models.Model): firstName = models.CharField(max_length=200, null=True, blank=True) lastName = models.CharField(max_length=200, null=True, blank=True) description = models.TextField(blank=True, null=True) companyName = models.CharField(max_length=200, null=True, blank=True) image = models.FileField(upload_to=get_upload_file_name, null=True, blank=True) image_thumbnail250 = ImageSpecField( source='image', processors=[Transpose(), SmartResize(250, 250)], format='JPEG', options={'quality': 80}) phone = models.CharField(max_length=100, null=True, blank=True) address = models.CharField(max_length=200, null=True, blank=True) website = models.CharField(max_length=200, null=True, blank=True) postcode = models.CharField(max_length=100, null=True, blank=True) city = models.CharField(max_length=100, null=True, blank=True) country = models.CharField(max_length=100, null=True, blank=True) paypal_email = models.CharField(max_length=200, null=True, blank=True) members_referred = models.IntegerField(default=0) active = models.BooleanField(default=False) influencer = models.BooleanField(default=False) brand = models.BooleanField(default=False) paid = models.BooleanField(default=False) s_monthly = models.BooleanField(default=False) s_6month = models.BooleanField(default=False) s_12month = models.BooleanField(default=False) g_monthly = models.BooleanField(default=False) g_6month = models.BooleanField(default=False) g_12month = models.BooleanField(default=False) twitter = models.BooleanField(default=False) facebook = models.BooleanField(default=False) vine = models.BooleanField(default=False) instagram = models.BooleanField(default=False) youtube = models.BooleanField(default=False) snapchat = models.BooleanField(default=False) temp_flag = models.BooleanField(default=False) user = models.OneToOneField(User, related_name='profile') def __unicode__(self): return "%s's profile" % self.user.username
class Question(models.Model): title = models.CharField(max_length=30) select_a = models.TextField() select_b = models.TextField() image_a = ProcessedImageField( blank=True, upload_to=ei_image_path, # 저장위치 processors=[SmartResize(300, 400)], # 처리할 작업 목록 format='JPEG', # 저장포맷 options={'quality': 90} # title, content , image와같은 Field가 바뀌면 다시 migrate해야하지만 # 그 외에 속성을 추가하거나 속성을 변경하면 다시 안해 도 됌 ) image_b = ProcessedImageField( blank=True, upload_to=ei_image_path, # 저장위치 processors=[SmartResize(300, 400)], # 처리할 작업 목록 format='JPEG', # 저장포맷 options={'quality': 90} # title, content , image와같은 Field가 바뀌면 다시 migrate해야하지만 # 그 외에 속성을 추가하거나 속성을 변경하면 다시 안해 도 됌 )