0002_create_test_models.py 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306
  1. from django.core.serializers.json import DjangoJSONEncoder
  2. from django.db import migrations, models
  3. from ..fields import (
  4. ArrayField, BigIntegerRangeField, CICharField, CIEmailField, CITextField,
  5. DateRangeField, DateTimeRangeField, DecimalRangeField, EnumField,
  6. HStoreField, IntegerRangeField, JSONField, SearchVectorField,
  7. )
  8. from ..models import TagField
  9. class Migration(migrations.Migration):
  10. dependencies = [
  11. ('postgres_tests', '0001_setup_extensions'),
  12. ]
  13. operations = [
  14. migrations.CreateModel(
  15. name='CharArrayModel',
  16. fields=[
  17. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  18. ('field', ArrayField(models.CharField(max_length=10), size=None)),
  19. ],
  20. options={
  21. 'required_db_vendor': 'postgresql',
  22. },
  23. bases=(models.Model,),
  24. ),
  25. migrations.CreateModel(
  26. name='DateTimeArrayModel',
  27. fields=[
  28. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  29. ('datetimes', ArrayField(models.DateTimeField(), size=None)),
  30. ('dates', ArrayField(models.DateField(), size=None)),
  31. ('times', ArrayField(models.TimeField(), size=None)),
  32. ],
  33. options={
  34. 'required_db_vendor': 'postgresql',
  35. },
  36. bases=(models.Model,),
  37. ),
  38. migrations.CreateModel(
  39. name='HStoreModel',
  40. fields=[
  41. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  42. ('field', HStoreField(blank=True, null=True)),
  43. ('array_field', ArrayField(HStoreField(), null=True)),
  44. ],
  45. options={
  46. 'required_db_vendor': 'postgresql',
  47. },
  48. bases=(models.Model,),
  49. ),
  50. migrations.CreateModel(
  51. name='OtherTypesArrayModel',
  52. fields=[
  53. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  54. ('ips', ArrayField(models.GenericIPAddressField(), size=None, default=list)),
  55. ('uuids', ArrayField(models.UUIDField(), size=None, default=list)),
  56. ('decimals', ArrayField(models.DecimalField(max_digits=5, decimal_places=2), size=None, default=list)),
  57. ('tags', ArrayField(TagField(), blank=True, null=True, size=None)),
  58. ('json', ArrayField(JSONField(default={}), default=[])),
  59. ('int_ranges', ArrayField(IntegerRangeField(), null=True, blank=True)),
  60. ('bigint_ranges', ArrayField(BigIntegerRangeField(), null=True, blank=True)),
  61. ],
  62. options={
  63. 'required_db_vendor': 'postgresql',
  64. },
  65. bases=(models.Model,),
  66. ),
  67. migrations.CreateModel(
  68. name='IntegerArrayModel',
  69. fields=[
  70. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  71. ('field', ArrayField(models.IntegerField(), size=None)),
  72. ],
  73. options={
  74. 'required_db_vendor': 'postgresql',
  75. },
  76. bases=(models.Model,),
  77. ),
  78. migrations.CreateModel(
  79. name='NestedIntegerArrayModel',
  80. fields=[
  81. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  82. ('field', ArrayField(ArrayField(models.IntegerField(), size=None), size=None)),
  83. ],
  84. options={
  85. 'required_db_vendor': 'postgresql',
  86. },
  87. bases=(models.Model,),
  88. ),
  89. migrations.CreateModel(
  90. name='NullableIntegerArrayModel',
  91. fields=[
  92. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  93. ('field', ArrayField(models.IntegerField(), size=None, null=True, blank=True)),
  94. (
  95. 'field_nested',
  96. ArrayField(ArrayField(models.IntegerField(), size=None, null=True), size=None, null=True),
  97. ),
  98. ],
  99. options={
  100. 'required_db_vendor': 'postgresql',
  101. },
  102. bases=(models.Model,),
  103. ),
  104. migrations.CreateModel(
  105. name='CharFieldModel',
  106. fields=[
  107. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  108. ('field', models.CharField(max_length=16)),
  109. ],
  110. options=None,
  111. bases=None,
  112. ),
  113. migrations.CreateModel(
  114. name='TextFieldModel',
  115. fields=[
  116. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  117. ('field', models.TextField()),
  118. ],
  119. options=None,
  120. bases=None,
  121. ),
  122. migrations.CreateModel(
  123. name='SmallAutoFieldModel',
  124. fields=[
  125. ('id', models.SmallAutoField(verbose_name='ID', serialize=False, primary_key=True)),
  126. ],
  127. options=None,
  128. ),
  129. migrations.CreateModel(
  130. name='BigAutoFieldModel',
  131. fields=[
  132. ('id', models.BigAutoField(verbose_name='ID', serialize=False, primary_key=True)),
  133. ],
  134. options=None,
  135. ),
  136. migrations.CreateModel(
  137. name='Scene',
  138. fields=[
  139. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  140. ('scene', models.CharField(max_length=255)),
  141. ('setting', models.CharField(max_length=255)),
  142. ],
  143. options=None,
  144. bases=None,
  145. ),
  146. migrations.CreateModel(
  147. name='Character',
  148. fields=[
  149. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  150. ('name', models.CharField(max_length=255)),
  151. ],
  152. options=None,
  153. bases=None,
  154. ),
  155. migrations.CreateModel(
  156. name='CITestModel',
  157. fields=[
  158. ('name', CICharField(primary_key=True, max_length=255)),
  159. ('email', CIEmailField()),
  160. ('description', CITextField()),
  161. ('array_field', ArrayField(CITextField(), null=True)),
  162. ],
  163. options={
  164. 'required_db_vendor': 'postgresql',
  165. },
  166. bases=None,
  167. ),
  168. migrations.CreateModel(
  169. name='Line',
  170. fields=[
  171. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  172. ('scene', models.ForeignKey('postgres_tests.Scene', on_delete=models.SET_NULL)),
  173. ('character', models.ForeignKey('postgres_tests.Character', on_delete=models.SET_NULL)),
  174. ('dialogue', models.TextField(blank=True, null=True)),
  175. ('dialogue_search_vector', SearchVectorField(blank=True, null=True)),
  176. ('dialogue_config', models.CharField(max_length=100, blank=True, null=True)),
  177. ],
  178. options={
  179. 'required_db_vendor': 'postgresql',
  180. },
  181. bases=None,
  182. ),
  183. migrations.CreateModel(
  184. name='AggregateTestModel',
  185. fields=[
  186. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  187. ('boolean_field', models.BooleanField(null=True)),
  188. ('char_field', models.CharField(max_length=30, blank=True)),
  189. ('integer_field', models.IntegerField(null=True)),
  190. ]
  191. ),
  192. migrations.CreateModel(
  193. name='StatTestModel',
  194. fields=[
  195. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  196. ('int1', models.IntegerField()),
  197. ('int2', models.IntegerField()),
  198. ('related_field', models.ForeignKey(
  199. 'postgres_tests.AggregateTestModel',
  200. models.SET_NULL,
  201. null=True,
  202. )),
  203. ]
  204. ),
  205. migrations.CreateModel(
  206. name='NowTestModel',
  207. fields=[
  208. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  209. ('when', models.DateTimeField(null=True, default=None)),
  210. ]
  211. ),
  212. migrations.CreateModel(
  213. name='UUIDTestModel',
  214. fields=[
  215. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  216. ('uuid', models.UUIDField(default=None, null=True)),
  217. ]
  218. ),
  219. migrations.CreateModel(
  220. name='RangesModel',
  221. fields=[
  222. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  223. ('ints', IntegerRangeField(null=True, blank=True)),
  224. ('bigints', BigIntegerRangeField(null=True, blank=True)),
  225. ('decimals', DecimalRangeField(null=True, blank=True)),
  226. ('timestamps', DateTimeRangeField(null=True, blank=True)),
  227. ('timestamps_inner', DateTimeRangeField(null=True, blank=True)),
  228. ('dates', DateRangeField(null=True, blank=True)),
  229. ('dates_inner', DateRangeField(null=True, blank=True)),
  230. ],
  231. options={
  232. 'required_db_vendor': 'postgresql'
  233. },
  234. bases=(models.Model,)
  235. ),
  236. migrations.CreateModel(
  237. name='RangeLookupsModel',
  238. fields=[
  239. ('parent', models.ForeignKey(
  240. 'postgres_tests.RangesModel',
  241. models.SET_NULL,
  242. blank=True, null=True,
  243. )),
  244. ('integer', models.IntegerField(blank=True, null=True)),
  245. ('big_integer', models.BigIntegerField(blank=True, null=True)),
  246. ('float', models.FloatField(blank=True, null=True)),
  247. ('timestamp', models.DateTimeField(blank=True, null=True)),
  248. ('date', models.DateField(blank=True, null=True)),
  249. ('small_integer', models.SmallIntegerField(blank=True, null=True)),
  250. ('decimal_field', models.DecimalField(max_digits=5, decimal_places=2, blank=True, null=True)),
  251. ],
  252. options={
  253. 'required_db_vendor': 'postgresql',
  254. },
  255. bases=(models.Model,),
  256. ),
  257. migrations.CreateModel(
  258. name='JSONModel',
  259. fields=[
  260. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  261. ('field', JSONField(null=True, blank=True)),
  262. ('field_custom', JSONField(null=True, blank=True, encoder=DjangoJSONEncoder)),
  263. ],
  264. options={
  265. 'required_db_vendor': 'postgresql',
  266. },
  267. bases=(models.Model,),
  268. ),
  269. migrations.CreateModel(
  270. name='ArrayEnumModel',
  271. fields=[
  272. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  273. ('array_of_enums', ArrayField(EnumField(max_length=20), null=True, blank=True)),
  274. ],
  275. options={
  276. 'required_db_vendor': 'postgresql',
  277. },
  278. bases=(models.Model,),
  279. ),
  280. migrations.CreateModel(
  281. name='Room',
  282. fields=[
  283. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  284. ('number', models.IntegerField(unique=True)),
  285. ],
  286. ),
  287. migrations.CreateModel(
  288. name='HotelReservation',
  289. fields=[
  290. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  291. ('room', models.ForeignKey('postgres_tests.Room', models.CASCADE)),
  292. ('datespan', DateRangeField()),
  293. ('start', models.DateTimeField()),
  294. ('end', models.DateTimeField()),
  295. ('cancelled', models.BooleanField(default=False)),
  296. ],
  297. options={
  298. 'required_db_vendor': 'postgresql',
  299. },
  300. ),
  301. ]