models.py 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. from django.db import models
  2. class Author(models.Model):
  3. name = models.CharField(max_length=100)
  4. age = models.IntegerField()
  5. friends = models.ManyToManyField('self', blank=True)
  6. rating = models.FloatField(null=True)
  7. def __str__(self):
  8. return self.name
  9. class Publisher(models.Model):
  10. name = models.CharField(max_length=255)
  11. num_awards = models.IntegerField()
  12. duration = models.DurationField(blank=True, null=True)
  13. def __str__(self):
  14. return self.name
  15. class Book(models.Model):
  16. isbn = models.CharField(max_length=9)
  17. name = models.CharField(max_length=255)
  18. pages = models.IntegerField()
  19. rating = models.FloatField()
  20. price = models.DecimalField(decimal_places=2, max_digits=6)
  21. authors = models.ManyToManyField(Author)
  22. contact = models.ForeignKey(Author, models.CASCADE, related_name='book_contact_set')
  23. publisher = models.ForeignKey(Publisher, models.CASCADE)
  24. pubdate = models.DateField()
  25. def __str__(self):
  26. return self.name
  27. class Store(models.Model):
  28. name = models.CharField(max_length=255)
  29. books = models.ManyToManyField(Book)
  30. original_opening = models.DateTimeField()
  31. friday_night_closing = models.TimeField()
  32. def __str__(self):
  33. return self.name