Skip to content

Instantly share code, notes, and snippets.

@solanoize
Created January 21, 2017 06:15
Show Gist options
  • Select an option

  • Save solanoize/4fadcfcfb66d2e18c052fbbb579ece5b to your computer and use it in GitHub Desktop.

Select an option

Save solanoize/4fadcfcfb66d2e18c052fbbb579ece5b to your computer and use it in GitHub Desktop.
all basic store
from django.db import models
from apldistro.models import Brand
class SizeType(models.Model):
user = models.ForeignKey('auth.User')
brand = models.ForeignKey(Brand)
name = models.CharField(max_length=20)
info = models.CharField(max_length=100)
def __str__(self):
return self.name
class Size(models.Model):
user = models.ForeignKey('auth.User')
brand = models.ForeignKey(Brand)
type = models.ForeignKey(SizeType)
name = models.CharField(max_length=5)
def __str__(self):
return "({}) - {}".format(self.name, self.type.name)
class ProductType(models.Model):
user = models.ForeignKey('auth.User')
brand = models.ForeignKey(Brand)
name = models.CharField(max_length=30)
def __str__(self):
return self.name
class Product(models.Model):
user = models.ForeignKey('auth.User')
brand = models.ForeignKey(Brand)
code = models.CharField(max_length=5) # TODO: 'code' change to unique !
type = models.ForeignKey(ProductType)
name = models.CharField(max_length=30)
def __str__(self):
return "{} - {}".format(self.name, self.brand.name)
class Article(models.Model):
user = models.ForeignKey('auth.User')
brand = models.ForeignKey(Brand)
code = models.CharField(max_length=5, unique=True)
product = models.ForeignKey(Product)
name = models.CharField(max_length=50)
price = models.PositiveIntegerField()
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
def __str__(self):
return "({}) - {}".format(self.code, self.name)
class ArticleDetail(models.Model):
user = models.ForeignKey('auth.User')
brand = models.ForeignKey(Brand)
article = models.ForeignKey(Article)
size = models.ForeignKey(Size)
code = models.CharField(max_length=5)
stock = models.PositiveIntegerField()
limit = models.PositiveIntegerField(default=0, null=True, blank=True)
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
def __str__(self):
return "({}) - {}".format(self.code, self.article.name)
class Meta:
unique_together = ('article', 'size')
class Photo(models.Model):
user = models.ForeignKey('auth.User')
brand = models.ForeignKey(Brand)
article = models.ForeignKey(Article)
picture = models.ImageField(upload_to='aplinventory/article')
def __str__(self):
return self.article.name
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment