# Generated by Django 5.2.4 on 2025-08-21 12:31 import django.db.models.deletion from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ ('Accounts', '0001_initial'), ('Boxes', '0002_mysterybox_image'), ] operations = [ migrations.CreateModel( name='Cart', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('created_at', models.DateTimeField(auto_now_add=True)), ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='cart', to='Accounts.profile')), ], ), migrations.CreateModel( name='CartItem', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('quantity', models.PositiveIntegerField(default=1)), ('box', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='Boxes.mysterybox')), ('cart', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='items', to='cart.cart')), ], ), migrations.CreateModel( name='Order', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('order_number', models.CharField(editable=False, max_length=50, unique=True)), ('total_amount', models.DecimalField(decimal_places=2, default=0.0, max_digits=10)), ('status', models.CharField(choices=[('pending', 'Pending'), ('paid', 'Paid'), ('shipped', 'Shipped'), ('delivered', 'Delivered'), ('cancelled', 'Cancelled')], default='pending', max_length=20)), ('created_at', models.DateTimeField(auto_now_add=True)), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='orders', to='Accounts.profile')), ], ), migrations.CreateModel( name='OrderItem', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('quantity', models.PositiveIntegerField(default=1)), ('unit_price', models.DecimalField(decimal_places=2, max_digits=10)), ('box', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='Boxes.mysterybox')), ('order', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='items', to='cart.order')), ], ), migrations.CreateModel( name='Payment', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('payment_method', models.CharField(choices=[('stripe', 'Stripe'), ('paypal', 'PayPal'), ('razorpay', 'Razorpay'), ('cod', 'Cash on Delivery')], default='cod', max_length=20)), ('transaction_id', models.CharField(blank=True, max_length=150, null=True)), ('status', models.CharField(choices=[('pending', 'Pending'), ('successful', 'Successful'), ('failed', 'Failed')], default='pending', max_length=20)), ('paid_at', models.DateTimeField(blank=True, null=True)), ('order', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='payment', to='cart.order')), ], ), ]