Skip to content

Commit

Permalink
Merge pull request #34 from itsdeannat/feat/add-new-order-id
Browse files Browse the repository at this point in the history
Feat/add new order
  • Loading branch information
itsdeannat authored Jan 14, 2025
2 parents 902958e + 891e2f7 commit 0a234e4
Show file tree
Hide file tree
Showing 6 changed files with 95 additions and 1 deletion.
4 changes: 4 additions & 0 deletions brew/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,12 @@

# Register your models here.
from .models import Product
from .models import Order

@admin.register(Product)
class ProductAdmin(admin.ModelAdmin):
list_display = ('product_name', 'temperature', 'caffeine_amount', 'price', 'description', 'quantity')

@admin.register(Order)
class OrderAdmin(admin.ModelAdmin):
list_display = ('payment_method', 'order_date', 'status', 'id')
18 changes: 18 additions & 0 deletions brew/migrations/0002_order_order_number.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Generated by Django 5.1 on 2025-01-11 00:10

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('brew', '0001_initial'),
]

operations = [
migrations.AddField(
model_name='order',
name='order_number',
field=models.CharField(default='00000', max_length=5),
),
]
35 changes: 35 additions & 0 deletions brew/migrations/0003_alter_order_order_number.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Generated by Django 5.1 on 2025-01-11 01:14

from django.db import migrations, models
import random


class Migration(migrations.Migration):

dependencies = [
('brew', '0002_order_order_number'),
]

def generate_unique_order_numbers(apps, schema_editor):
Order = apps.get_model('brew', 'Order')
for order in Order.objects.all():
while True:
order_number = f"{random.randint(10000, 99999)}"
if not Order.objects.filter(order_number=order_number).exists():
order.order_number = order_number
order.save()
break

operations = [
migrations.AddField(
model_name='order',
name='order_number',
field=models.CharField(max_length=5, unique=True, blank=True, null=True),
),
migrations.RunPython(generate_unique_order_numbers),
migrations.AlterField(
model_name='order',
name='order_number',
field=models.CharField(max_length=5, unique=True),
),
]
18 changes: 18 additions & 0 deletions brew/migrations/0004_alter_order_order_number.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Generated by Django 5.1 on 2025-01-11 03:12

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('brew', '0003_alter_order_order_number'),
]

operations = [
migrations.AlterField(
model_name='order',
name='order_number',
field=models.CharField(default='00000', max_length=5, unique=True),
),
]
17 changes: 17 additions & 0 deletions brew/migrations/0005_remove_order_order_number.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Generated by Django 5.1 on 2025-01-11 03:17

from django.db import migrations


class Migration(migrations.Migration):

dependencies = [
('brew', '0004_alter_order_order_number'),
]

operations = [
migrations.RemoveField(
model_name='order',
name='order_number',
),
]
4 changes: 3 additions & 1 deletion brew/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -102,10 +102,12 @@ class OrderSerializer(serializers.ModelSerializer):
order_date = serializers.DateTimeField(read_only=True, help_text="Order date") # Set to readonly to return to the customer
status = serializers.CharField(read_only=True, help_text="Order status") # Set to readonly to return to the customer
payment_method = serializers.CharField(required=True, help_text="The payment method used")
id = serializers.CharField(read_only=True, help_text="The unique order id")


class Meta:
model = Order
fields = ['payment_method', 'order_date', 'status', 'order_items']
fields = ['id', 'payment_method', 'order_date', 'status', 'order_items']



Expand Down

0 comments on commit 0a234e4

Please sign in to comment.