models.py 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. from django.db import models
  2. class People(models.Model):
  3. name = models.CharField(max_length=255)
  4. parent = models.ForeignKey('self', models.CASCADE)
  5. class Message(models.Model):
  6. from_field = models.ForeignKey(People, models.CASCADE, db_column='from_id')
  7. class PeopleData(models.Model):
  8. people_pk = models.ForeignKey(People, models.CASCADE, primary_key=True)
  9. ssn = models.CharField(max_length=11)
  10. class PeopleMoreData(models.Model):
  11. people_unique = models.ForeignKey(People, models.CASCADE, unique=True)
  12. license = models.CharField(max_length=255)
  13. class DigitsInColumnName(models.Model):
  14. all_digits = models.CharField(max_length=11, db_column='123')
  15. leading_digit = models.CharField(max_length=11, db_column='4extra')
  16. leading_digits = models.CharField(max_length=11, db_column='45extra')
  17. class SpecialName(models.Model):
  18. field = models.IntegerField(db_column='field')
  19. # Underscores
  20. field_field_0 = models.IntegerField(db_column='Field_')
  21. field_field_1 = models.IntegerField(db_column='Field__')
  22. field_field_2 = models.IntegerField(db_column='__field')
  23. # Other chars
  24. prc_x = models.IntegerField(db_column='prc(%) x')
  25. non_ascii = models.IntegerField(db_column='tamaño')
  26. class Meta:
  27. db_table = "inspectdb_special.table name"
  28. class ColumnTypes(models.Model):
  29. id = models.AutoField(primary_key=True)
  30. big_int_field = models.BigIntegerField()
  31. bool_field = models.BooleanField(default=False)
  32. null_bool_field = models.BooleanField(null=True)
  33. char_field = models.CharField(max_length=10)
  34. null_char_field = models.CharField(max_length=10, blank=True, null=True)
  35. date_field = models.DateField()
  36. date_time_field = models.DateTimeField()
  37. decimal_field = models.DecimalField(max_digits=6, decimal_places=1)
  38. email_field = models.EmailField()
  39. file_field = models.FileField(upload_to="unused")
  40. file_path_field = models.FilePathField()
  41. float_field = models.FloatField()
  42. int_field = models.IntegerField()
  43. gen_ip_address_field = models.GenericIPAddressField(protocol="ipv4")
  44. pos_int_field = models.PositiveIntegerField()
  45. pos_small_int_field = models.PositiveSmallIntegerField()
  46. slug_field = models.SlugField()
  47. small_int_field = models.SmallIntegerField()
  48. text_field = models.TextField()
  49. time_field = models.TimeField()
  50. url_field = models.URLField()
  51. uuid_field = models.UUIDField()
  52. class UniqueTogether(models.Model):
  53. field1 = models.IntegerField()
  54. field2 = models.CharField(max_length=10)
  55. from_field = models.IntegerField(db_column='from')
  56. non_unique = models.IntegerField(db_column='non__unique_column')
  57. non_unique_0 = models.IntegerField(db_column='non_unique__column')
  58. class Meta:
  59. unique_together = [
  60. ('field1', 'field2'),
  61. ('from_field', 'field1'),
  62. ('non_unique', 'non_unique_0'),
  63. ]