models.py 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  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. message = models.ForeignKey(Message, models.CASCADE, blank=True, null=True)
  13. license = models.CharField(max_length=255)
  14. class DigitsInColumnName(models.Model):
  15. all_digits = models.CharField(max_length=11, db_column='123')
  16. leading_digit = models.CharField(max_length=11, db_column='4extra')
  17. leading_digits = models.CharField(max_length=11, db_column='45extra')
  18. class SpecialName(models.Model):
  19. field = models.IntegerField(db_column='field')
  20. # Underscores
  21. field_field_0 = models.IntegerField(db_column='Field_')
  22. field_field_1 = models.IntegerField(db_column='Field__')
  23. field_field_2 = models.IntegerField(db_column='__field')
  24. # Other chars
  25. prc_x = models.IntegerField(db_column='prc(%) x')
  26. non_ascii = models.IntegerField(db_column='tamaño')
  27. class Meta:
  28. db_table = "inspectdb_special.table name"
  29. class ColumnTypes(models.Model):
  30. id = models.AutoField(primary_key=True)
  31. big_int_field = models.BigIntegerField()
  32. bool_field = models.BooleanField(default=False)
  33. null_bool_field = models.BooleanField(null=True)
  34. char_field = models.CharField(max_length=10)
  35. null_char_field = models.CharField(max_length=10, blank=True, null=True)
  36. date_field = models.DateField()
  37. date_time_field = models.DateTimeField()
  38. decimal_field = models.DecimalField(max_digits=6, decimal_places=1)
  39. email_field = models.EmailField()
  40. file_field = models.FileField(upload_to="unused")
  41. file_path_field = models.FilePathField()
  42. float_field = models.FloatField()
  43. int_field = models.IntegerField()
  44. gen_ip_address_field = models.GenericIPAddressField(protocol="ipv4")
  45. pos_big_int_field = models.PositiveBigIntegerField()
  46. pos_int_field = models.PositiveIntegerField()
  47. pos_small_int_field = models.PositiveSmallIntegerField()
  48. slug_field = models.SlugField()
  49. small_int_field = models.SmallIntegerField()
  50. text_field = models.TextField()
  51. time_field = models.TimeField()
  52. url_field = models.URLField()
  53. uuid_field = models.UUIDField()
  54. class JSONFieldColumnType(models.Model):
  55. json_field = models.JSONField()
  56. null_json_field = models.JSONField(blank=True, null=True)
  57. class Meta:
  58. required_db_features = {
  59. 'can_introspect_json_field',
  60. 'supports_json_field',
  61. }
  62. class UniqueTogether(models.Model):
  63. field1 = models.IntegerField()
  64. field2 = models.CharField(max_length=10)
  65. from_field = models.IntegerField(db_column='from')
  66. non_unique = models.IntegerField(db_column='non__unique_column')
  67. non_unique_0 = models.IntegerField(db_column='non_unique__column')
  68. class Meta:
  69. unique_together = [
  70. ('field1', 'field2'),
  71. ('from_field', 'field1'),
  72. ('non_unique', 'non_unique_0'),
  73. ]