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.'))