update the models

This commit is contained in:
Andreas Zweili 2017-11-14 21:26:44 +01:00
parent f09ba05737
commit c754670931
2 changed files with 64 additions and 38 deletions

View File

@ -1,19 +1,26 @@
from django.contrib import admin from django.contrib import admin
from django.contrib.auth.admin import UserAdmin as BaseUserAdmin
from django.contrib.auth.models import User
# Register your models here. # Register your models here.
from .models import Article from .models import (Article, Order, Person, City, Picture, OrderOfGoods,
from .models import Order Category, Option, Settings)
from .models import Person
from .models import City class PersonInline(admin.StackedInline):
from .models import Picture model = Person
from .models import OrderOfGoods can_delete = False
from .models import Category verbose_name_plural = 'person'
from .models import Option
from .models import Settings
class UserAdmin(BaseUserAdmin):
inlines = (PersonInline, )
admin.site.unregister(User)
admin.site.register(User, UserAdmin)
admin.site.register(Article) admin.site.register(Article)
admin.site.register(Order) admin.site.register(Order)
admin.site.register(Person)
admin.site.register(City) admin.site.register(City)
admin.site.register(Picture) admin.site.register(Picture)
admin.site.register(OrderOfGoods) admin.site.register(OrderOfGoods)

View File

@ -4,81 +4,100 @@ from django.contrib.auth.models import User
# Create your models here. # Create your models here.
class Category(models.Model): class Category(models.Model):
name = models.CharField(max_length=200, unique=True) name = models.CharField(max_length=200, unique=True)
article_id = models.ForeignKey('self') article = models.ForeignKey('self')
def __str__(self):
return self.name
class Option(models.Model): class Option(models.Model):
name = models.CharField(max_length=200, unique=True) name = models.CharField(max_length=200, unique=True)
value = models.IntegerField(default=5) value = models.IntegerField(default=5)
def __str__(self):
return self.name
class Settings(models.Model): class Settings(models.Model):
option_id = models.ForeignKey(Option, on_delete=models.CASCADE) option = models.ForeignKey(Option, on_delete=models.CASCADE)
enabled = models.BooleanField(default=False) enabled = models.BooleanField(default=False)
class DeliveryStatus(models.Model):
name = models.CharField(max_length=50, unique=True)
class ArticleStatus(models.Model): class ArticleStatus(models.Model):
name = models.CharField(max_length=50, unique=True) name = models.CharField(max_length=50, unique=True)
def __str__(self):
return self.name
class ExchangeRate(models.Model): class ExchangeRate(models.Model):
name = models.CharField(max_length=200, unique=True) name = models.CharField(max_length=200, unique=True)
exchange_rate_to_chf = models.FloatField(max_length=5) exchange_rate_to_chf = models.FloatField(max_length=5)
def __str__(self):
return self.name
class Article(models.Model): class Article(models.Model):
name = models.CharField(max_length=200) name = models.CharField(max_length=200)
description = models.CharField(max_length=2000) description = models.CharField(max_length=2000)
stock = models.FloatField(max_length=5) stock = models.FloatField(max_length=5)
status_id = models.ForeignKey(ArticleStatus, on_delete=models.CASCADE) status = models.ForeignKey(ArticleStatus)
price_in_chf = models.DecimalField(max_digits=19, decimal_places=2) price_in_chf = models.DecimalField(max_digits=19, decimal_places=2)
def __str__(self):
return self.name
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): class OrderStatus(models.Model):
name = models.CharField(max_length=200, unique=True) name = models.CharField(max_length=200, unique=True)
def __str__(self):
return self.name
class OrderOfGoods(models.Model):
article = models.ForeignKey(Article)
amount = models.FloatField(max_length=5)
delivery_date = models.DateField()
order_date = models.DateTimeField(auto_now_add=True)
order_status = models.ForeignKey(OrderStatus)
class Picture(models.Model):
name = models.CharField(max_length=200, unique=True)
article = models.ForeignKey(Article, on_delete=models.CASCADE)
def __str__(self):
return self.name
class Order(models.Model): class Order(models.Model):
user_id = models.ForeignKey(User, on_delete=models.CASCADE) user = models.ForeignKey(User, on_delete=models.CASCADE)
article_id = models.ManyToManyField(Article) article = models.ManyToManyField(Article)
order_status_id = models.ForeignKey(OrderStatus) order_status = models.ForeignKey(OrderStatus)
class ShoppingCart(models.Model): class ShoppingCart(models.Model):
name = models.CharField(max_length=200) name = models.CharField(max_length=200)
user_id = models.ForeignKey(User, on_delete=models.CASCADE) user = models.ForeignKey(User, on_delete=models.CASCADE)
article_id = models.ManyToManyField(Article) article = models.ManyToManyField(Article)
def __str__(self):
return self.name
class City(models.Model): class City(models.Model):
name = models.CharField(max_length=200) name = models.CharField(max_length=200)
plz = models.PositiveSmallIntegerField() zip_code = models.PositiveSmallIntegerField()
def __str__(self):
return self.name
class Salution(models.Model): class Salutation(models.Model):
name = models.CharField(max_length=20) name = models.CharField(max_length=20)
class Person(models.Model): class Person(models.Model):
first_name = models.CharField(max_length=200) first_name = models.CharField(max_length=200)
last_name = models.CharField(max_length=200) last_name = models.CharField(max_length=200)
salution_id= models.ForeignKey(Salution) salutation = models.ForeignKey(Salutation)
city_id= models.ForeignKey(City) city = models.ForeignKey(City)
street_name = models.CharField(max_length=200) street_name = models.CharField(max_length=200)
street_number = models.CharField(max_length=4) street_number = models.CharField(max_length=4)
user = models.OneToOneField(User, on_delete=models.CASCADE)
def __str__(self):
return self.last_name