From c539123a47adf99fdf1d1b55b1ddcc6924446379 Mon Sep 17 00:00:00 2001 From: Andreas Zweili Date: Mon, 13 Nov 2017 22:55:20 +0100 Subject: [PATCH] partial creation of the models --- django/didgeridoo/webshop/admin.py | 19 +++++++ django/didgeridoo/webshop/models.py | 81 +++++++++++++++++++++++++++++ 2 files changed, 100 insertions(+) diff --git a/django/didgeridoo/webshop/admin.py b/django/didgeridoo/webshop/admin.py index 8c38f3f..d33327f 100644 --- a/django/didgeridoo/webshop/admin.py +++ b/django/didgeridoo/webshop/admin.py @@ -1,3 +1,22 @@ from django.contrib import admin # Register your models here. +from .models import Article +from .models import Order +from .models import Person +from .models import City +from .models import Picture +from .models import OrderOfGoods +from .models import Category +from .models import Option +from .models import Settings + +admin.site.register(Article) +admin.site.register(Order) +admin.site.register(Person) +admin.site.register(City) +admin.site.register(Picture) +admin.site.register(OrderOfGoods) +admin.site.register(Category) +admin.site.register(Option) +admin.site.register(Settings) diff --git a/django/didgeridoo/webshop/models.py b/django/didgeridoo/webshop/models.py index 71a8362..56799c3 100644 --- a/django/didgeridoo/webshop/models.py +++ b/django/didgeridoo/webshop/models.py @@ -1,3 +1,84 @@ from django.db import models +from django.contrib.auth.models import User # Create your models here. +class Category(models.Model): + name = models.CharField(max_length=200, unique=True) + article_id = models.ForeignKey('self') + + +class Option(models.Model): + name = models.CharField(max_length=200, unique=True) + value = models.IntegerField(default=5) + + +class Settings(models.Model): + option_id = models.ForeignKey(Option, on_delete=models.CASCADE) + enabled = models.BooleanField(default=False) + + +class DeliveryStatus(models.Model): + name = models.CharField(max_length=50, unique=True) + + +class ArticleStatus(models.Model): + name = models.CharField(max_length=50, unique=True) + + +class ExchangeRate(models.Model): + name = models.CharField(max_length=200, unique=True) + exchange_rate_to_chf = models.FloatField(max_length=5) + + +class Article(models.Model): + name = models.CharField(max_length=200) + description = models.CharField(max_length=2000) + stock = models.FloatField(max_length=5) + status_id = models.ForeignKey(ArticleStatus, on_delete=models.CASCADE) + price_in_chf = models.DecimalField(max_digits=19, decimal_places=2) + + +class OrderOfGoods(models.Model): + article_id = models.ForeignKey(Article, on_delete=models.CASCADE) + amount = models.FloatField(max_length=5) + delivery_date = models.DateField() + order_date = models.DateTimeField(auto_now_add=True) + + +class Picture(models.Model): + name = models.CharField(max_length=200, unique=True) + article_id = models.ForeignKey(Article, on_delete=models.CASCADE) + + +class OrderStatus(models.Model): + name = models.CharField(max_length=200, unique=True) + + +class Order(models.Model): + user_id = models.ForeignKey(User, on_delete=models.CASCADE) + article_id = models.ManyToManyField(Article) + order_status_id = models.ForeignKey(OrderStatus) + + +class ShoppingCart(models.Model): + name = models.CharField(max_length=200) + user_id = models.ForeignKey(User, on_delete=models.CASCADE) + article_id = models.ManyToManyField(Article) + + +class City(models.Model): + name = models.CharField(max_length=200) + plz = models.PositiveSmallIntegerField() + + +class Salution(models.Model): + name = models.CharField(max_length=20) + + +class Person(models.Model): + first_name = models.CharField(max_length=200) + last_name = models.CharField(max_length=200) + salution_id= models.ForeignKey(Salution) + city_id= models.ForeignKey(City) + street_name = models.CharField(max_length=200) + street_number = models.CharField(max_length=4)