Skip to content

Commit 4c29f60

Browse files
authored
Merge pull request #9 from codersforcauses/martin/create_shop_models
Update shop models
2 parents ab2ba0d + 7ff13e2 commit 4c29f60

15 files changed

Lines changed: 140 additions & 3 deletions

File tree

server/registration/apps.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22

33

44
class RegistrationConfig(AppConfig):
5-
name = 'registration'
5+
name = 'registration'

server/registration/migrations/0001_initial.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,4 +61,4 @@ class Migration(migrations.Migration):
6161
name='accountManager',
6262
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='managed_businesses', to='registration.petcarer'),
6363
),
64-
]
64+
]

server/server/settings.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,10 @@
5353
"tasks.apps.TasksConfig",
5454
"dog.apps.DogConfig",
5555
"vet.apps.VetConfig",
56+
"shop.apps.ShopConfig",
57+
"registration.apps.RegistrationConfig",
5658
"landing_page",
5759
"health.apps.HealthConfig",
58-
"registration",
5960
]
6061

6162
MIDDLEWARE = [

server/server/urls.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,5 +31,6 @@
3131
path("home/", include("landing_page.urls")),
3232
path("dog/", include("dog.urls")),
3333
path("vet/", include("vet.urls")),
34+
path("shop/", include("shop.urls")),
3435
path("health/", include("health.urls"))
3536
]

server/shop/__init__.py

Whitespace-only changes.

server/shop/admin.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
from django.contrib import admin
2+
from .models import ShopItem, ShopOrder, ShopSupplier
3+
# Register your models here.
4+
admin.site.register(ShopOrder)
5+
admin.site.register(ShopItem)
6+
admin.site.register(ShopSupplier)

server/shop/apps.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
from django.apps import AppConfig
2+
3+
4+
class ShopConfig(AppConfig):
5+
default_auto_field = 'django.db.models.BigAutoField'
6+
name = 'shop'
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# Generated by Django 5.2.8 on 2025-12-11 05:37
2+
3+
import django.db.models.deletion
4+
from django.db import migrations, models
5+
6+
7+
class Migration(migrations.Migration):
8+
9+
initial = True
10+
11+
dependencies = [
12+
('registration', '0001_initial'),
13+
]
14+
15+
operations = [
16+
migrations.CreateModel(
17+
name='ShopSupplier',
18+
fields=[
19+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
20+
('phoneNumber', models.CharField(max_length=15)),
21+
('email', models.EmailField(max_length=254)),
22+
('streetNo', models.CharField(max_length=10)),
23+
('streetNome', models.CharField(max_length=100)),
24+
('suburb', models.CharField(max_length=100)),
25+
('state', models.CharField(max_length=100)),
26+
('postcode', models.CharField(max_length=10)),
27+
('country', models.CharField(max_length=100)),
28+
],
29+
),
30+
migrations.CreateModel(
31+
name='ShopOrder',
32+
fields=[
33+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
34+
('product_name', models.CharField(max_length=100)),
35+
('itemOrdered', models.CharField(max_length=100)),
36+
('dateOrdered', models.DateTimeField(auto_now_add=True)),
37+
('amountSpent', models.DecimalField(decimal_places=2, max_digits=10)),
38+
('useFor', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='registration.petcarer')),
39+
],
40+
),
41+
migrations.CreateModel(
42+
name='ShopItem',
43+
fields=[
44+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
45+
('itemName', models.CharField(max_length=100)),
46+
('price', models.DecimalField(decimal_places=2, max_digits=10)),
47+
('inStock', models.IntegerField()),
48+
('supplierPrice', models.DecimalField(decimal_places=2, max_digits=10)),
49+
('supplier', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='shop.shopsupplier')),
50+
],
51+
),
52+
]

server/shop/migrations/__init__.py

Whitespace-only changes.

server/shop/models.py

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
from django.db import models
2+
from registration.models import PetCarer
3+
# Create your models here.
4+
class ShopOrder(models.Model):
5+
useFor = models.ForeignKey(PetCarer, on_delete=models.CASCADE)
6+
product_name = models.CharField(max_length=100)
7+
itemOrdered = models.CharField(max_length=100)
8+
dateOrdered = models.DateTimeField(auto_now_add=True)
9+
amountSpent = models.DecimalField(max_digits=10, decimal_places=2)
10+
def __str__(self):
11+
return f"Order {self.order_id}: {self.product_name} (x{self.quantity})"
12+
13+
class ShopItem(models.Model):
14+
itemName = models.CharField(max_length=100)
15+
price = models.DecimalField(max_digits=10, decimal_places=2)
16+
inStock = models.IntegerField()
17+
supplier = models.ForeignKey('ShopSupplier', on_delete=models.CASCADE)
18+
supplierPrice = models.DecimalField(max_digits=10, decimal_places=2)
19+
def __str__(self):
20+
return self.itemName
21+
22+
class ShopSupplier(models.Model):
23+
phoneNumber = models.CharField(max_length=15)
24+
email = models.EmailField()
25+
streetNo = models.CharField(max_length=10)
26+
streetNome = models.CharField(max_length=100)
27+
suburb = models.CharField(max_length=100)
28+
state = models.CharField(max_length=100)
29+
postcode = models.CharField(max_length=10)
30+
country = models.CharField(max_length=100)
31+
def __str__(self):
32+
return self.name

0 commit comments

Comments
 (0)