2026-02-20 20:50:37 +00:00

125 lines
4.9 KiB
Python

from django.core.management.base import BaseCommand
from core.models import Category, Vendor, Product
from django.utils.text import slugify
class Command(BaseCommand):
help = 'Seeds initial data for Pasar UMKM Pemagarsari'
def handle(self, *args, **options):
# Create Categories
categories_data = [
{'name': 'Makanan', 'icon': 'fa-utensils'},
{'name': 'Minuman', 'icon': 'fa-coffee'},
{'name': 'Kerajinan', 'icon': 'fa-palette'},
{'name': 'Pakaian', 'icon': 'fa-tshirt'},
{'name': 'Jasa', 'icon': 'fa-tools'},
{'name': 'Pertanian', 'icon': 'fa-leaf'},
]
cats = {}
for cat in categories_data:
obj, created = Category.objects.get_or_create(
name=cat['name'],
defaults={'icon': cat['icon']}
)
cats[cat['name']] = obj
if created:
self.stdout.write(self.style.SUCCESS(f'Created category: {cat["name"]}'))
# Create Vendors
vendors_data = [
{
'name': 'Dapur Bu Siti',
'whatsapp_number': '628123456789',
'description': 'Spesialis kue basah dan masakan tradisional khas Pemagarsari.',
'address': 'RT 01 RW 02, Desa Pemagarsari'
},
{
'name': 'Kerajinan Bambu Jaya',
'whatsapp_number': '628987654321',
'description': 'Produk anyaman bambu berkualitas tinggi untuk dekorasi rumah.',
'address': 'RT 05 RW 01, Desa Pemagarsari'
},
{
'name': 'Kopi Desa Kita',
'whatsapp_number': '628555444333',
'description': 'Kopi asli hasil perkebunan Desa Pemagarsari yang diproses secara tradisional.',
'address': 'RT 03 RW 03, Desa Pemagarsari'
}
]
vens = {}
for ven in vendors_data:
obj, created = Vendor.objects.get_or_create(
name=ven['name'],
defaults={
'whatsapp_number': ven['whatsapp_number'],
'description': ven['description'],
'address': ven['address']
}
)
vens[ven['name']] = obj
if created:
self.stdout.write(self.style.SUCCESS(f'Created vendor: {ven["name"]}'))
# Create Products
products_data = [
{
'name': 'Kue Klepon Lumer',
'vendor': vens['Dapur Bu Siti'],
'category': cats['Makanan'],
'price': 15000,
'description': 'Klepon dengan gula merah cair yang melimpah dan taburan kelapa gurih. Isi 10 pcs.'
},
{
'name': 'Nasi Liwet Komplit',
'vendor': vens['Dapur Bu Siti'],
'category': cats['Makanan'],
'price': 25000,
'description': 'Nasi liwet dengan lauk ayam goreng, tahu tempe, sambal, dan lalapan.'
},
{
'name': 'Tas Anyaman Bambu',
'vendor': vens['Kerajinan Bambu Jaya'],
'category': cats['Kerajinan'],
'price': 85000,
'description': 'Tas jinjing elegan hasil anyaman tangan pengrajin lokal. Kuat dan ramah lingkungan.'
},
{
'name': 'Wadah Serbaguna',
'vendor': vens['Kerajinan Bambu Jaya'],
'category': cats['Kerajinan'],
'price': 45000,
'description': 'Satu set wadah serbaguna untuk keperluan dapur atau dekorasi.'
},
{
'name': 'Kopi Robusta Pemagarsari (250g)',
'vendor': vens['Kopi Desa Kita'],
'category': cats['Minuman'],
'price': 35000,
'description': 'Bubuk kopi robusta pilihan dengan aroma yang kuat dan rasa yang mantap.'
},
{
'name': 'Gula Semut Aren',
'vendor': vens['Kopi Desa Kita'],
'category': cats['Minuman'],
'price': 20000,
'description': 'Gula aren kualitas premium, sangat cocok untuk pemanis kopi atau minuman lainnya.'
}
]
for prod in products_data:
obj, created = Product.objects.get_or_create(
name=prod['name'],
vendor=prod['vendor'],
defaults={
'category': prod['category'],
'price': prod['price'],
'description': prod['description']
}
)
if created:
self.stdout.write(self.style.SUCCESS(f'Created product: {prod["name"]}'))
self.stdout.write(self.style.SUCCESS('Successfully seeded initial data.'))