Advertisement
Guest User

Untitled

a guest
Jun 27th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.53 KB | None | 0 0
  1.  
  2. class ParentSKU(models.Model):
  3.     sku = models.CharField(max_length = 200, unique = True)
  4.     yahoo_id = models.CharField(max_length = 250, blank=True)
  5.     slug = models.SlugField(max_length = 150, blank=True)
  6.     title = models.CharField(max_length = 200, blank=True)
  7.     headline = models.CharField(max_length = 200, blank=True)
  8.     caption1 = models.TextField(blank=True)
  9.     caption2 = models.TextField(blank=True)
  10.     option1_type = models.CharField(max_length = 250, blank=True)
  11.     option2_type = models.CharField(max_length = 250, blank=True)
  12.     galleries = generic.GenericRelation(Gallery)
  13.     def __unicode__(self):
  14.         return '%s' % (self.sku)
  15.     def get_absolute_url(self):
  16.         return reverse('products_parentsku_detail', args = [self.sku])
  17.     def save(self, *args, **kwargs):
  18.         super(ParentSKU, self).save(*args, **kwargs)
  19.         create_application_gallery(self, 'ParentSKU')
  20.     def get_gallery(self):
  21.         try:
  22.             return self.galleries.all()[0]
  23.         except: return None
  24.     def get_default_subsku(self):
  25.         if self.subsku_set:
  26.             try:
  27.                 return self.subsku_set.all().get(sku = self.sku)
  28.             except:
  29.                 return self.subsku_set.all()[0]
  30.         return None
  31.  
  32.  
  33. class SubSKU(models.Model):
  34.     sku = models.CharField(max_length = 200, unique = True)
  35.     parent_sku = models.ForeignKey(ParentSKU, null=True)
  36.     yahoo_id = models.CharField(max_length = 250, blank=True)
  37.     slug = models.SlugField(max_length = 150, blank=True)
  38.     price = models.DecimalField(decimal_places = 2, max_digits = 6, null=True)
  39.     sale_on = models.BooleanField()
  40.     sale_price = models.DecimalField(decimal_places = 2, max_digits = 6, null=True, blank=True)
  41.     qoh = models.IntegerField(null=True)
  42.     barcode = models.CharField(max_length = 250, blank=True)
  43.     weight = models.DecimalField(decimal_places = 2, max_digits = 6, null=True, blank=True)
  44.     option1 = models.CharField(max_length = 250, blank=True)
  45.     option2 = models.CharField(max_length = 250, blank=True)
  46.     image_prefix = models.CharField(max_length = 20, blank=True)
  47.     def __unicode__(self):
  48.         return '%s' % (self.sku)
  49.     def get_absolute_url(self):
  50.         return reverse('products_subsku_detail', args = [self.sku])
  51.     def get_default_image(self):
  52.         parent_gallery = self.parent_sku.get_gallery()
  53.         if parent_gallery:
  54.             default_image = parent_gallery.photo_set.filter(title__icontains = self.image_prefix).order_by('title')
  55.             if default_image:
  56.                 return default_image[0]
  57.         return None
  58.     def get_swatch_image(self):
  59.         parent_gallery = self.parent_sku.get_gallery()
  60.         if parent_gallery:
  61.             swatch_image = parent_gallery.photo_set.filter(title__icontains = self.image_prefix + SWATCH_STRING).order_by('title')
  62.             if swatch_image:
  63.                 return swatch_image[0]
  64.         return None
  65.  
  66.     def get_thumb_image(self):
  67.         parent_gallery = self.parent_sku.get_gallery()
  68.         if parent_gallery:
  69.             thumb_image = parent_gallery.photo_set.filter(title__icontains = self.image_prefix + THUMB_STRING).order_by('title')
  70.             if thumb_image:
  71.                 return thumb_image[0]
  72.         return None
  73.  
  74.     def get_detail_images(self):
  75.         parent_gallery = self.parent_sku.get_gallery()
  76.         if parent_gallery:
  77.             return parent_gallery.photo_set.all().exclude(title__icontains = THUMB_STRING).exclude(title__icontains = SWATCH_STRING).order_by('title')
  78.         return None
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement