from django.db import models class Category(models.Model): id = models.CharField(max_length=255, primary_key=True) name = models.CharField(max_length=255) class BookSeries(models.Model): id = models.CharField(max_length=20, primary_key=True) title = models.CharField(max_length=511) class Book(models.Model): isbn = models.CharField(max_length=13, primary_key=True) id = models.CharField(max_length=255, unique=True) title = models.CharField(max_length=511) subtitle = models.CharField(max_length=511, null=True, blank=True) category = models.ForeignKey(Category) publisher = models.CharField(max_length=255, null=True, blank=True) published_year = models.IntegerField(null=True, blank=True) edition = models.IntegerField(null=True, blank=True) num_pages = models.IntegerField(null=True, blank=True) series = models.ForeignKey(BookSeries, null=True, blank=True) description = models.CharField(max_length=1023, null=True, blank=True) picture = models.ImageField(upload_to='%Y/%m/%d/pictures', null=True, blank=True) thumbnail = models.ImageField(upload_to='%Y/%m/%d/thumbnails', null=True, blank=True) class AlternativeTitle(models.Model): book = models.ForeignKey(Book) alt_title = models.CharField(max_length=511) class Copy(models.Model): book = models.ForeignKey(Book) number = models.IntegerField() owner = models.CharField(max_length=9) class Person(models.Model): id = models.CharField(max_length=255, primary_key=True) first_name = models.CharField(max_length=255) last_name = models.CharField(max_length=255) class Relation(models.Model): name = models.CharField(max_length=31) class BookPerson(models.Model): book = models.ForeignKey(Book) person = models.ForeignKey(Person) relation = models.ForeignKey(Relation) class ReferenceType(models.Model): name = models.CharField(max_length=31) class Reference(models.Model): reference_type = models.ForeignKey(ReferenceType) text = models.CharField(max_length=1023) class Placement(models.Model): category = models.ForeignKey(Category) shelf = models.CharField(max_length=10)