sync
Raz 8 months ago
parent 5451cd6667
commit e31e937974
  1. 16
      shop/management/commands/create_initial_shop_data.py
  2. 6
      shop/models.py

@ -45,7 +45,7 @@ class Command(BaseCommand):
# Create sizes # Create sizes
self.stdout.write('Creating sizes...') self.stdout.write('Creating sizes...')
sizes = ['XS', 'S', 'M', 'L', 'XL', 'XXL', '3XL', '4XL'] sizes = ['Taille Unique', 'XS', 'S', 'M', 'L', 'XL', 'XXL', '3XL', '4XL']
size_objects = {} size_objects = {}
for name in sizes: for name in sizes:
@ -67,7 +67,7 @@ class Command(BaseCommand):
'ordering_value': 1, 'ordering_value': 1,
'cut': 0, # Unisex 'cut': 0, # Unisex
'colors': ['Blanc', 'Bleu Sport', 'Noir'], 'colors': ['Blanc', 'Bleu Sport', 'Noir'],
'sizes': [], 'sizes': ['Taille Unique'],
'image_filename': 'hat.jpg' 'image_filename': 'hat.jpg'
}, },
{ {
@ -75,7 +75,7 @@ class Command(BaseCommand):
'title': 'Padel Club Hoodie Femme', 'title': 'Padel Club Hoodie Femme',
'description': 'Hoodie femme logo cœur et dos', 'description': 'Hoodie femme logo cœur et dos',
'price': 50.00, 'price': 50.00,
'ordering_value': 1, 'ordering_value': 10,
'cut': 1, 'cut': 1,
'colors': ['Blanc', 'Bleu Sport', 'Noir', 'Fuchsia'], 'colors': ['Blanc', 'Bleu Sport', 'Noir', 'Fuchsia'],
'sizes': ['XS', 'S', 'M', 'L', 'XL', 'XXL'], 'sizes': ['XS', 'S', 'M', 'L', 'XL', 'XXL'],
@ -86,7 +86,7 @@ class Command(BaseCommand):
'title': 'Padel Club Hoodie Homme', 'title': 'Padel Club Hoodie Homme',
'description': 'Hoodie homme logo cœur et dos', 'description': 'Hoodie homme logo cœur et dos',
'price': 50.00, 'price': 50.00,
'ordering_value': 2, 'ordering_value': 11,
'cut': 2, 'cut': 2,
'colors': ['Blanc', 'Bleu Sport', 'Noir', 'Fuchsia'], 'colors': ['Blanc', 'Bleu Sport', 'Noir', 'Fuchsia'],
'sizes': ['XS', 'S', 'M', 'L', 'XL', 'XXL', '3XL', '4XL'], 'sizes': ['XS', 'S', 'M', 'L', 'XL', 'XXL', '3XL', '4XL'],
@ -97,7 +97,7 @@ class Command(BaseCommand):
'title': 'Débardeur Femme', 'title': 'Débardeur Femme',
'description': 'Débardeur femme avec logo coeur.', 'description': 'Débardeur femme avec logo coeur.',
'price': 25.00, 'price': 25.00,
'ordering_value': 2, 'ordering_value': 20,
'cut': 1, # Women 'cut': 1, # Women
'colors': ['Blanc / Bleu Sport', 'Noir', 'Noir / Gris Foncé Chiné'], 'colors': ['Blanc / Bleu Sport', 'Noir', 'Noir / Gris Foncé Chiné'],
'sizes': ['XS', 'S', 'M', 'L', 'XL'], 'sizes': ['XS', 'S', 'M', 'L', 'XL'],
@ -108,7 +108,7 @@ class Command(BaseCommand):
'title': 'Jupe bicolore Femme', 'title': 'Jupe bicolore Femme',
'description': 'Avec short intégré logo jambe (sauf corail)', 'description': 'Avec short intégré logo jambe (sauf corail)',
'price': 30.00, 'price': 30.00,
'ordering_value': 3, 'ordering_value': 30,
'cut': 1, # Women 'cut': 1, # Women
'colors': ['Blanc / Bleu Sport', 'Bleu Sport / Blanc', 'Corail / Noir', 'Noir / Gris Foncé Chiné'], 'colors': ['Blanc / Bleu Sport', 'Bleu Sport / Blanc', 'Corail / Noir', 'Noir / Gris Foncé Chiné'],
'sizes': ['XS', 'S', 'M', 'L', 'XL'], 'sizes': ['XS', 'S', 'M', 'L', 'XL'],
@ -119,7 +119,7 @@ class Command(BaseCommand):
'title': 'T-shirt Bicolore Homme', 'title': 'T-shirt Bicolore Homme',
'description': 'T-shirt bicolore avec logo coeur.', 'description': 'T-shirt bicolore avec logo coeur.',
'price': 25.00, 'price': 25.00,
'ordering_value': 1, 'ordering_value': 40,
'cut': 2, # Men 'cut': 2, # Men
'colors': ['Blanc / Bleu Sport', 'Noir', 'Noir / Gris Foncé Chiné'], 'colors': ['Blanc / Bleu Sport', 'Noir', 'Noir / Gris Foncé Chiné'],
'sizes': ['S', 'M', 'L', 'XL', 'XXL', '3XL'], 'sizes': ['S', 'M', 'L', 'XL', 'XXL', '3XL'],
@ -130,7 +130,7 @@ class Command(BaseCommand):
'title': 'Short Bicolore Homme', 'title': 'Short Bicolore Homme',
'description': 'Short bicolore avec logo jambe.', 'description': 'Short bicolore avec logo jambe.',
'price': 30.00, 'price': 30.00,
'ordering_value': 3, 'ordering_value': 50,
'cut': 2, # Men 'cut': 2, # Men
'colors': ['Blanc / Bleu Sport', 'Noir', 'Noir / Gris Foncé Chiné'], 'colors': ['Blanc / Bleu Sport', 'Noir', 'Noir / Gris Foncé Chiné'],
'sizes': ['S', 'M', 'L', 'XL', 'XXL', '3XL'], 'sizes': ['S', 'M', 'L', 'XL', 'XXL', '3XL'],

@ -56,6 +56,9 @@ class CartItem(models.Model):
session_id = models.CharField(max_length=255, null=True, blank=True) session_id = models.CharField(max_length=255, null=True, blank=True)
date_added = models.DateTimeField(auto_now_add=True) date_added = models.DateTimeField(auto_now_add=True)
class Meta:
ordering = ['product__ordering_value', 'product__cut'] # Sort by product's ordering_value
def __str__(self): def __str__(self):
return f"{self.quantity} x {self.product.title}" return f"{self.quantity} x {self.product.title}"
@ -100,6 +103,9 @@ class OrderItem(models.Model):
size = models.ForeignKey(Size, on_delete=models.SET_NULL, null=True, blank=True) size = models.ForeignKey(Size, on_delete=models.SET_NULL, null=True, blank=True)
price = models.DecimalField(max_digits=10, decimal_places=2) price = models.DecimalField(max_digits=10, decimal_places=2)
class Meta:
ordering = ['product__ordering_value', 'product__cut'] # Sort by product's ordering_value
def __str__(self): def __str__(self):
return f"{self.quantity} x {self.product.title}" return f"{self.quantity} x {self.product.title}"

Loading…
Cancel
Save