class ProductSubCategory(models.Model): category = models.ForeignKey(ProductCategory, related_name='category', on_delete=models.CASCADE) name = models.CharField(max_length=150) alternative_name = models.CharField(max_length=150) descriptions = models.TextField() icon = StdImageField( upload_to='media/images/category_images/' + str(name) + '/', blank=True, null=True, editable=True, ) image = StdImageField( upload_to='media/images/category_images/' + str(name) + '/', blank=True, null=True, editable=True, ) created = models.DateField(auto_now_add=True) updated = models.DateField(auto_now=True) is_active = models.BooleanField() def __str__(self): return self.name
class MultipleFieldsModel(models.Model): """creates a thumbnail resized to 100x100 croping if necessary""" image1 = StdImageField(upload_to=upload_to, variations={'thumbnail': (100, 100, True)}) image2 = StdImageField(upload_to=upload_to) image3 = StdImageField('Some label', upload_to=upload_to) text = models.CharField('Some label', max_length=10)
class SliderImages(CreationModificationDateMixin): slider = models.ForeignKey(Slider, on_delete=models.CASCADE) image = StdImageField(upload_to='images/marketing/slider', blank=True, null=True, variations={ 'slider_size': (520, 460), }, delete_orphans=True) image_url = models.CharField(max_length=250, null=True, blank=True) background_image_url = models.CharField(max_length=250, null=True, blank=True) link_url = models.CharField(max_length=250, null=True, blank=True) background_image = StdImageField(upload_to='images/marketing/banner', blank=True, null=True, variations={ 'back_size': (520, 460), }, delete_orphans=True) in_display = models.BooleanField(default=True) class Meta: ordering = ('-in_display', ) def __str__(self): return str(self.slider)
class Slider(CreationModificationDateMixin): product = models.ForeignKey(Product, on_delete=models.SET_NULL, null=True, blank=True) header_text = models.CharField(max_length=120, null=True, blank=True) text = models.CharField(max_length=120, null=True, blank=True) slider_type = models.CharField(max_length=2, choices=SLIDER_TYPE, blank=True, null=True, unique=True, default='La') image = StdImageField(upload_to='images/marketing/slider', blank=True, null=True, variations={ 'slider_size': (520, 460), }, delete_orphans=True) image_url = models.CharField(max_length=250, null=True, blank=True) background_image_url = models.CharField(max_length=250, null=True, blank=True) link_url = models.CharField(max_length=250, null=True, blank=True) active = models.BooleanField(default=True) featured = models.BooleanField(default=False) start_date = models.DateTimeField(auto_now_add=False, auto_now=False, null=True, blank=True) end_date = models.DateTimeField(auto_now_add=False, auto_now=False, null=True, blank=True) background_image = StdImageField(upload_to='images/marketing/banner', blank=True, null=True, variations={ 'back_size': (520, 460), }, delete_orphans=True) objects = MarketingManager() class Meta: ordering = ['-end_date'] def __str__(self): return str(self.slider_type)
class Institution(models.Model): InstName = models.CharField(max_length=50, primary_key=True) #InstLogo = models.ImageField(upload_to='Institute/Image/') InstStartDate = models.DateField(auto_now=False) InstLogo = StdImageField(upload_to='Institute/Image/', variations={'large': (500, 150, True)}) InstDescrip = models.TextField() InstOwner = models.ForeignKey(AdminProf) InstImages = StdImageField(upload_to='Institute/InstImage/', variations={'large': (700, 300, True)}) def __str__(self): return self.InstName
class Content(models.Model): where = models.CharField(max_length=2000) text = models.CharField(max_length=100) date1 = models.DateField(default=datetime.now) text1 = models.CharField(max_length=100) date2 = models.DateField(default=datetime.now) photo = StdImageField(variations={'thumbnail': (250, 178)}) photo1 = StdImageField(variations={'thumbnail': (250, 178)}) photo2 = StdImageField(variations={'thumbnail': (250, 178)}) photo3 = StdImageField(variations={'thumbnail': (250, 178)}) slider = models.ForeignKey(Common, on_delete=models.CASCADE, related_name='common')
class Book(models.Model): book = models.CharField(max_length=100) ISBN = models.IntegerField(primary_key=True) genre = models.ForeignKey(Genre, default=0, on_delete=models.CASCADE) image = StdImageField(upload_to='bookCover/', blank=True, variations={'thumbnail': (600, 800, True)}) contributor = models.ForeignKey(User, on_delete=models.CASCADE) ebook = models.FileField(upload_to='ebooks/', help_text="Upload the ebook if present", blank=True) date = models.DateField(auto_now=True, help_text="Date of Publication") read = models.ManyToManyField(settings.AUTH_USER_MODEL, blank=True, related_name='has_read') likes = models.ManyToManyField(settings.AUTH_USER_MODEL, blank=True, related_name='books_liked') class Meta: verbose_name = "Book" verbose_name_plural = "Library" def __str__(self): return str(self.book)
class User(models.Model): user_id = models.AutoField(verbose_name=u'用户', primary_key=True) user_nickname = models.CharField(verbose_name=u'昵称', max_length=30, default='none', unique=True)#用户设置 user_password = models.CharField(verbose_name=u'密码', max_length=18, default='123456') user_sex = models.CharField(verbose_name=u'性别', max_length=1, default='男') user_tel = models.CharField(verbose_name=u'手机号', max_length=10, default='0') user_headImage = StdImageField(max_length=100, upload_to='user/headImage', verbose_name='头像', variations={'thumbnail':{'width':50, 'height':50}}, default='user/headImage/headDefault.jpg') user_isAdmin = models.BooleanField(verbose_name=u'用户是否为管理员', default=False)#系统预先内置一些管理员账户,前端提交用户注册表单时此项默认置0.当用户登陆时,检查此项是否为1,为1开启管理员权限. user_isBindQQ = models.BooleanField(verbose_name=u'用户是否绑定QQ', default=False) user_location = models.CharField(verbose_name=u'位置', max_length=30, default=u'中国') user_location_x = models.DecimalField(verbose_name=u'用户经度', max_digits=100, decimal_places=5, default=0) user_location_y = models.DecimalField(verbose_name=u'用户纬度', max_digits=100, decimal_places=5, default=0) user_coupon = models.ManyToManyField(verbose_name=u'用户持有的优惠券', to='Coupon', null=True, blank=True) user_TJUCarat = models.IntegerField(verbose_name=u'洋克拉', default=0)#洋克拉:类似于京豆的一种优惠机制 user_isVIP = models.BooleanField(verbose_name=u'用户是否为VIP', default=False) user_email = models.CharField(verbose_name=u'邮箱', max_length=30, default='none') def __str__(self): return '%s' % self.user_id def isAdmin(self): if self.user_isAdmin: return '是' else: return '否' def isBindQQ(self): if self.user_isBindQQ: return '是' else: return '否'
class ResizeModel(models.Model): """resizes image to maximum size to fit a 640x480 area""" image = StdImageField(upload_to=upload_to, variations={ 'medium': (600, 400), 'thumbnail': (100, 75) })
class LayoutTemplate(models.Model): name = models.CharField(_('name'), max_length=200, help_text=_('Enter the name')) html = models.TextField(_('HTML'), max_length=50000, help_text=_('Enter the html')) tokens = models.CommaSeparatedIntegerField(_('Tokens'), max_length=200) image = StdImageField(upload_to='layout/', null=True, blank=True, help_text=_('Image')) def thumbnail(self): """ Used in list_display """ try: th = DjangoThumbnail(self.image.name, (100, 100)) return '<img src="%s" />' % th.absolute_url except: return '' thumbnail.short_description = 'Image thumbnail' thumbnail.allow_tags = True def __unicode__(self): return self.name def layout_create(self): return '<a href="%s/add/"> <img src="/media/img/admin/icon_addlink.gif"/> </a>' % self.pk layout_create.allow_tags = True
class Event(models.Model): event_id = models.AutoField(primary_key=True) club = models.ForeignKey('Club') entry = models.CharField('Entry', max_length=2, choices=ACCESS_CHOICES) entry_description = models.CharField( "Entry Description", help_text="Useful for describing passes or members +.", max_length=40, null=True, blank=True) title = models.CharField("Title", help_text="Default is clubname + weekday", max_length=40, null=True, blank=True) description = models.TextField("Description", null=True, blank=True) poster = StdImageField('Event Poster (optional)', upload_to='pam/images/events_posters/', size=(400, 600), thumbnail_size=(250, 375), blank=True, null=True) time_start = models.DateTimeField('Start datetime') time_end = models.DateTimeField('End datetime') def __unicode__(self): if self.title: return self.title return self.club.name + " " + self.time_start.strftime("%A")
class ForceMinSizeModel(models.Model): """creates a thumbnail resized to maximum size to fit a 100x75 area""" image = StdImageField( upload_to=UploadTo(name='image', path='img'), force_min_size=True, variations={'thumbnail': (600, 600)} )
class ProductImage(CreationModificationDateMixin): item = models.ForeignKey(Product, on_delete=models.CASCADE) image = StdImageField(upload_to='images/products', variations={ 'thumbnail': (180, 150), 'medium': (365, 365), 'deals_size': (365, 365, True), 'large': (415, 430), }, delete_orphans=True) in_display = models.BooleanField(default=True) objects = ProductManager() displayed = DisplayImageManager() class Meta: ordering = ('-in_display', ) def __str__(self): return str(self.item) def natural_key(self): return (self.item.slug, ) def get_absolute_url(self): return reverse('me2ushop:product_images', kwargs={'slug': self.item.slug}) def save(self, *args, **kwargs): cache.delete('productimage-%s' % self.pk) super().save(*args, **kwargs)
class Usuario(Base): nome = models.CharField('nome', max_length=100) email = models.EmailField('E-Mail', max_length=100, unique=True) nivel = models.ForeignKey('core.Cargo', verbose_name='Cargo', on_delete=models.CASCADE) senha = models.CharField( 'Senha', max_length=10, ) token = models.CharField('token', max_length=255, default='', blank=True) img = StdImageField('Imagem', upload_to='usuarios', variations={'thumb': { 'width': 100, 'height': 100 }}, blank=True) class Meta: verbose_name = 'Usuário' verbose_name_plural = 'Usuários' def __str__(self): return self.nome def loggin(self): tk = Token().token self.token = tk def logout(self): tk = Token().token self.token = tk
class User(AbstractUser): user_type = models.CharField(max_length=15, default='normal') image = StdImageField( upload_to=upload_image_path, blank=True, null=True, delete_orphans=True, ) etc = models.CharField(max_length=150, blank=True) branch = models.ForeignKey(Branch, blank=True, null=True, on_delete=models.SET_NULL, related_name='users') objects = UserManager() class Meta: ordering = ['user_type', 'username'] def get_absolute_url(self): return reverse_lazy("branches:user_detail", kwargs={ "branch_slug": self.branch.slug, "username": self.username }) def has_perm(self, perm, obj=None): return True def has_module_perms(self, app_label): return True
class Post(models.Model): author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, null=True) title = models.CharField(max_length=200) text = models.TextField() description = models.CharField(max_length=200, blank=True, null=True) image = StdImageField( upload_to='images/', null=True, blank=True, verbose_name='Изображение', variations={'thumbnail': { 'width': 400, 'height': 400 }}) created_date = models.DateTimeField(default=timezone.now) published_date = models.DateTimeField(blank=True, null=True) def publish(self): self.published_date = timezone.now() self.save() def __str__(self): return self.title def get_absolute_url(self): return "/blog/%i/" % self.id
class User(AbstractUser): WORK_IN_OFFICE = 'work in office' NOT_WORKING = 'not working' WORK_REMOTE = 'work remote' SICK = 'sick' BUSY = 'busy' STATUS_CHOICES = ( (WORK_IN_OFFICE, _(WORK_IN_OFFICE)), (WORK_REMOTE, _(WORK_REMOTE)), (SICK, _(SICK)), (BUSY, _(BUSY)), ) status = models.CharField(max_length=20, null=True, blank=True, choices=STATUS_CHOICES) comment = models.TextField(null=True, blank=True) photo = StdImageField(verbose_name=_("image"), null=True, blank=True, upload_to=UploadToClassNameDirUUID()) def thumbnail(self): return u'<img src="%s%s" />' % (settings.MEDIA_URL, self.image.thumbnail) thumbnail.allow_tags = True
class Entry(models.Model): ENTER = 'enter' EXIT = 'exit' TYPE_CHOICES = ( (ENTER, _(ENTER)), (EXIT, _(EXIT)), ) user = models.ForeignKey('core.User', null=True, blank=True, on_delete=models.CASCADE) type = models.CharField(max_length=20, null=True, blank=True, choices=TYPE_CHOICES) datetimestamp = models.DateTimeField(auto_now_add=True) photo = StdImageField(verbose_name=_("image"), null=True, blank=True, upload_to=UploadToClassNameDirUUID()) def thumbnail(self): return u'<img src="%s%s" />' % (settings.MEDIA_URL, self.image.thumbnail) thumbnail.allow_tags = True
class AlbumPhoto(models.Model): id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) album = models.ForeignKey(Album, on_delete=models.CASCADE, related_name='photos') # photo = models.ImageField(upload_to=album_folder) # thumb = models.ImageField(upload_to=thumb_folder) photo = StdImageField( upload_to=album_folder, variations={'thumbnail': { 'width': 300, 'height': 300, 'crop': False }}) # stdimage allows standardized file renaming and thumbnail creation # figure out how to use the thumbnail... # can replace the thumb = models.imagefield above this block caption = models.CharField(max_length=100) created_by = models.ForeignKey(User, on_delete=models.CASCADE, related_name='user_photos') time = models.DateTimeField(default=timezone.localtime(timezone.now())) class Meta: ordering = ['-time'] def __str__(self): return str(self.id) + ": " + str(self.caption)
class Photo(TimestampedModel): """ A model that represents photo """ # user user = models.ForeignKey('auth.User', on_delete=models.CASCADE) # photo photo = StdImageField(upload_to='photos/', variations={ 'large': (1000, 1000), 'thumbnail': (100, 100, True) }, delete_orphans=True) # caption caption = models.CharField(max_length=255) # When the photo is published. If None it means the photo is # unpublished. published_at = models.DateTimeField(blank=True, null=True) class Meta: verbose_name = 'Photo' verbose_name_plural = 'Photos' def publish(self): self.published_at = timezone.now() self.save(update_fields=['published_at'])
class Photo(models.Model): name = models.CharField("Nome", max_length=100) image = StdImageField("Fotos", upload_to='photos', size=(800, 600), thumbnail_size=(200, 200, True)) width = models.IntegerField(default=0) heigth = models.IntegerField(default=0) content_type = models.ForeignKey(ContentType, related_name="photo_content_type") object_id = models.PositiveIntegerField() content_object = generic.GenericForeignKey("content_type", "object_id") objects = PhotoManager() def delete_files(self): filename = self.image.path if os.path.exists(filename): os.remove(filename) thumbnail_filename = self.image.thumbnail.path() if os.path.exists(thumbnail_filename): os.remove(thumbnail_filename) class Meta: db_table = "django_photo"
class Post(models.Model): title = models.CharField(max_length=30) tokuten = models.CharField(max_length=80) content = models.TextField() name = models.ForeignKey(get_user_model(), on_delete=models.CASCADE) #img = models.ImageField(upload_to='img/',null=True) tell = models.CharField(max_length=15, blank=True) email = models.EmailField(null=True, blank=True) url = models.URLField(null=True, blank=True) created = models.DateTimeField(default=timezone.now) updated = models.DateTimeField(auto_now=True) img = StdImageField(upload_to='path/to/img', blank=True, variations={ 'large': (600, 257.14), 'thumbnail': (360, 234.7, True), 'medium': (300, 300), }) def updated(self): self.updated = timezone.now() return self.save() def __str__(self): return str(self.name) + ':' + self.title def get_absolute_url(self): return reverse('detail', kwargs={'pk': self.pk})
class ThumbnailModel(models.Model): """creates a thumbnail resized to maximum size to fit a 100x75 area""" image = StdImageField( upload_to=UploadTo(name='image', path='img'), blank=True, variations={'thumbnail': (100, 75)} )
class ImageGallery(models.Model): image_text = models.CharField(max_length=200) pub_date = models.DateTimeField('date published') def get_upload_file_name(instance, filename): return "upload_files/%s_%s" % (str(time()).replace('.', '_'), filename) images = StdImageField(upload_to=get_upload_file_name, blank=True, variations={ 'large': (400, 400), 'thumbnail': (100, 100, True) }) def image_tag(self): return u'<img src="%s" />' % self.images.thumbnail.url image_tag.short_description = 'Image' image_tag.allow_tags = True def __unicode__(self): return u'%s %s' % (self.image_text, self.pub_date) def was_published_recently(self): now = timezone.now() return now - datetime.timedelta(days=1) <= self.pub_date <= now # search_fields = ['question_text'] was_published_recently.admin_order_field = 'pub_date' was_published_recently.boolean = True was_published_recently.short_description = 'published recently?'
class Motor(models.Model): id = models.AutoField(primary_key=True) tag = models.CharField(max_length=30, blank=False) function = models.CharField('Function', max_length=50, blank=True) motor = models.CharField('Motor', max_length=50, blank=True) fuel = models.CharField('Fuel', max_length=50, blank=False) power = models.CharField(max_length=40, blank=False) controller = models.CharField(max_length=30, blank=False) operation = models.CharField(max_length=30, blank=True) capacity = models.CharField(max_length=50, blank=False) hour_meter = models.CharField(max_length=50, blank=True) oil_change = models.CharField(max_length=50, blank=True) image = StdImageField( 'Image', upload_to=get_file_path, default='device/LogoSmart320.png', variations={'thumb': { 'width': 50, 'height': 50, 'crop': True }}) year = models.DateTimeField(('date joined'), default=timezone.now) def __str__(self): return self.motor
class Trend(CreationModificationDateMixin): product = models.ForeignKey(Product, on_delete=models.CASCADE) start_date = models.DateTimeField(auto_now_add=False, auto_now=False, null=True, blank=True) end_date = models.DateTimeField(auto_now_add=False, auto_now=False, null=True, blank=True) active = models.BooleanField(default=True) image = StdImageField(upload_to='images/marketing/banner', blank=True, null=True, variations={ 'trend_size': (520, 460), }, delete_orphans=True) objects = MarketingManager() class Meta: ordering = ['end_date'] def __str__(self): return str(self.product.title) def get_absolute_url(self): return reverse('me2ushop:product', kwargs={'slug': self.product.slug})
class Listing(models.Model): listingID = models.AutoField(primary_key=True) listingType = models.CharField('Listing Type', max_length=1, choices=LISTING_TYPE) category = models.CharField('Category', max_length=2, choices=CATEGORY_CHOICES) method = models.CharField('Method of Sale', max_length=2, choices=METHOD_CHOICES, blank=True, null=True) title = models.CharField("Title", max_length=70) description = models.TextField("Description", null=True, blank=True) user = models.ForeignKey(User, related_name="Lister") picture = StdImageField('Picture (optional)', upload_to='ttrade/images/upload/', size=(560, 800), blank=True) posted = models.DateTimeField('Date Posted') expire = models.DateTimeField('Date Expire') offers = models.ManyToManyField('Offer', null=True, blank=True) price = CurrencyField("Price", blank=True, null=True, decimal_places=2, max_digits=7) active = models.BooleanField("Is active", default=True) def __unicode__(self): return self.title
class AboutSlideShowPhoto(models.Model): photo = StdImageField(upload_to='about_page_photos', thumbnail_size=(1050, 790)) active = models.BooleanField() title = models.TextField() text = models.TextField() link = models.CharField(max_length=256, blank=True)
class MyStorageModel(CustomManagerModel): """delays creation of 150x150 thumbnails until it is called manually""" image = StdImageField( upload_to=upload_to, variations={'thumbnail': (150, 150, True)}, storage=FileSystemStorage(), )
class Post(Model): title = CharField(max_length=200, unique=True) slug = SlugField(max_length=200, unique=True) category = ForeignKey(Category, on_delete=SET_NULL, null=True) tags = ManyToManyField(Tag) author = ForeignKey(User, on_delete=CASCADE, related_name='posts') updated_on = DateTimeField(auto_now=True) content = TextField() intro = TextField(null=True) created_on = DateTimeField(auto_now_add=True) status = IntegerField(choices=STATUS, default=0) image = StdImageField(upload_to="title-img/", null=True, variations={ "squared_image": { 'width': 500, 'height': 500 }, 'thumbnail': { 'width': 100, 'height': 75 } }) class Meta: ordering = ['-created_on'] def __str__(self): return self.title