Advertisement
Guest User

Untitled

a guest
Mar 16th, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.77 KB | None | 0 0
  1. from django.db import models
  2. from django.urls import reverse
  3. from django.contrib.postgres import fields
  4.  
  5.  
  6. # Create your models here.
  7. class Shop(models.Model):
  8.     name = models.CharField(max_length=255)
  9.     address = models.CharField(max_length=255, null=True)
  10.     staff_amount = models.IntegerField(default=0)
  11.  
  12.     def get_absolute_url(self):
  13.         return reverse('shop', kwargs={'pk': self.pk})
  14.  
  15.     def __str__(self):
  16.         return self.name
  17.  
  18.     def __repr__(self):
  19.         return f"<Shop(name='{self.name}')>"
  20.  
  21.  
  22. class Department(models.Model):
  23.     sphere = models.CharField(max_length=255, null=False)
  24.     staff_amount = models.IntegerField(default=0)
  25.     shop = models.ForeignKey(Shop, on_delete=models.CASCADE, related_name='departments')
  26.  
  27.     def get_absolute_url(self):
  28.         return reverse('shop', kwargs={'pk': self.shop.pk})
  29.  
  30.     def __str__(self):
  31.         return f'{self.sphere}({self.shop})'
  32.  
  33.     def __repr__(self):
  34.         return f"<Department(sphere='{self.sphere}', shop='{self.shop.name}')>"
  35.  
  36.  
  37. class Item(models.Model):
  38.     name = models.CharField(max_length=255)
  39.     description = models.TextField(blank=True, default='')
  40.     price = models.IntegerField(default=0)
  41.     is_sold = models.BooleanField(default=False)
  42.     comments = fields.ArrayField(models.CharField(max_length=255), blank=True, default=list)
  43.     department = models.ForeignKey(Department, on_delete=models.CASCADE, related_name='items')
  44.  
  45.     def get_absolute_url(self):
  46.         return reverse('shop', kwargs={'pk': self.department.shop.pk})
  47.  
  48.     def __str__(self):
  49.         return f'{self.name} - {self.department}'
  50.  
  51.     def __repr__(self):
  52.         return f"<Item(name='{self.name}', price={self.price}, is_sold={self.is_sold}, department='{self.department.sphere}')>"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement