models.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. from __future__ import unicode_literals
  2. from django.db import models
  3. from django.utils.encoding import python_2_unicode_compatible
  4. @python_2_unicode_compatible
  5. class Person(models.Model):
  6. first_name = models.CharField(max_length=100)
  7. last_name = models.CharField(max_length=100)
  8. birthday = models.DateField()
  9. defaults = models.TextField()
  10. def __str__(self):
  11. return '%s %s' % (self.first_name, self.last_name)
  12. class DefaultPerson(models.Model):
  13. first_name = models.CharField(max_length=100, default="Anonymous")
  14. class ManualPrimaryKeyTest(models.Model):
  15. id = models.IntegerField(primary_key=True)
  16. data = models.CharField(max_length=100)
  17. class Profile(models.Model):
  18. person = models.ForeignKey(Person, models.CASCADE, primary_key=True)
  19. class Tag(models.Model):
  20. text = models.CharField(max_length=255, unique=True)
  21. class Thing(models.Model):
  22. name = models.CharField(max_length=256)
  23. tags = models.ManyToManyField(Tag)
  24. class Publisher(models.Model):
  25. name = models.CharField(max_length=100)
  26. class Author(models.Model):
  27. name = models.CharField(max_length=100)
  28. class Book(models.Model):
  29. name = models.CharField(max_length=100)
  30. authors = models.ManyToManyField(Author, related_name='books')
  31. publisher = models.ForeignKey(
  32. Publisher,
  33. models.CASCADE,
  34. related_name='books',
  35. db_column="publisher_id_column",
  36. )