0001_initial.py 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. # Generated by Django 4.1.3 on 2022-11-04 10:06
  2. from django.db import migrations, models
  3. import django.db.models.deletion
  4. class Migration(migrations.Migration):
  5. initial = True
  6. dependencies = [
  7. ("contenttypes", "0002_remove_content_type_name"),
  8. ]
  9. operations = [
  10. migrations.CreateModel(
  11. name="Category",
  12. fields=[
  13. (
  14. "id",
  15. models.BigAutoField(
  16. auto_created=True,
  17. primary_key=True,
  18. serialize=False,
  19. verbose_name="ID",
  20. ),
  21. ),
  22. ("created_at", models.DateTimeField(auto_now_add=True, null=True)),
  23. ("modified_at", models.DateTimeField(auto_now=True)),
  24. ("name", models.CharField(max_length=150)),
  25. (
  26. "type",
  27. models.CharField(
  28. choices=[
  29. ("Fixed", "Fixed expense"),
  30. ("Variable", "Variable expense"),
  31. ],
  32. default="Variable",
  33. max_length=20,
  34. ),
  35. ),
  36. ],
  37. options={
  38. "verbose_name": "Category",
  39. "verbose_name_plural": "Categories",
  40. "ordering": ("name", "type"),
  41. },
  42. ),
  43. migrations.CreateModel(
  44. name="Source",
  45. fields=[
  46. (
  47. "id",
  48. models.BigAutoField(
  49. auto_created=True,
  50. primary_key=True,
  51. serialize=False,
  52. verbose_name="ID",
  53. ),
  54. ),
  55. ("created_at", models.DateTimeField(auto_now_add=True, null=True)),
  56. ("modified_at", models.DateTimeField(auto_now=True)),
  57. ("name", models.CharField(max_length=150)),
  58. ],
  59. options={
  60. "abstract": False,
  61. },
  62. ),
  63. migrations.CreateModel(
  64. name="OnlineSource",
  65. fields=[
  66. (
  67. "source_ptr",
  68. models.OneToOneField(
  69. auto_created=True,
  70. on_delete=django.db.models.deletion.CASCADE,
  71. parent_link=True,
  72. primary_key=True,
  73. serialize=False,
  74. to="expenses.source",
  75. ),
  76. ),
  77. ("url", models.URLField()),
  78. ],
  79. options={
  80. "abstract": False,
  81. },
  82. bases=("expenses.source",),
  83. ),
  84. migrations.CreateModel(
  85. name="PhysicalSource",
  86. fields=[
  87. (
  88. "source_ptr",
  89. models.OneToOneField(
  90. auto_created=True,
  91. on_delete=django.db.models.deletion.CASCADE,
  92. parent_link=True,
  93. primary_key=True,
  94. serialize=False,
  95. to="expenses.source",
  96. ),
  97. ),
  98. ("latitude", models.FloatField()),
  99. ("longitude", models.FloatField()),
  100. ],
  101. options={
  102. "abstract": False,
  103. },
  104. bases=("expenses.source",),
  105. ),
  106. migrations.CreateModel(
  107. name="RawExpense",
  108. fields=[
  109. (
  110. "id",
  111. models.BigAutoField(
  112. auto_created=True,
  113. primary_key=True,
  114. serialize=False,
  115. verbose_name="ID",
  116. ),
  117. ),
  118. ("created_at", models.DateTimeField(auto_now_add=True, null=True)),
  119. ("modified_at", models.DateTimeField(auto_now=True)),
  120. ("name", models.CharField(max_length=150)),
  121. ("date", models.DateField()),
  122. ("amount", models.DecimalField(decimal_places=2, max_digits=10)),
  123. (
  124. "category",
  125. models.OneToOneField(
  126. on_delete=django.db.models.deletion.PROTECT,
  127. related_name="%(app_label)s_%(class)s_related",
  128. to="expenses.category",
  129. ),
  130. ),
  131. (
  132. "source",
  133. models.OneToOneField(
  134. on_delete=django.db.models.deletion.PROTECT,
  135. related_name="%(app_label)s_%(class)s_related",
  136. to="expenses.source",
  137. ),
  138. ),
  139. ],
  140. options={
  141. "abstract": False,
  142. },
  143. ),
  144. migrations.CreateModel(
  145. name="MultiplePaymentExepense",
  146. fields=[
  147. (
  148. "id",
  149. models.BigAutoField(
  150. auto_created=True,
  151. primary_key=True,
  152. serialize=False,
  153. verbose_name="ID",
  154. ),
  155. ),
  156. ("created_at", models.DateTimeField(auto_now_add=True, null=True)),
  157. ("modified_at", models.DateTimeField(auto_now=True)),
  158. ("name", models.CharField(max_length=150)),
  159. ("first_payment_date", models.DateField()),
  160. ("amount", models.DecimalField(decimal_places=2, max_digits=10)),
  161. ("number_of_payment", models.PositiveIntegerField()),
  162. (
  163. "category",
  164. models.OneToOneField(
  165. on_delete=django.db.models.deletion.PROTECT,
  166. related_name="%(app_label)s_%(class)s_related",
  167. to="expenses.category",
  168. ),
  169. ),
  170. (
  171. "payments",
  172. models.ForeignKey(
  173. on_delete=django.db.models.deletion.PROTECT,
  174. related_name="multiple_payment_expense",
  175. to="expenses.rawexpense",
  176. ),
  177. ),
  178. (
  179. "source",
  180. models.OneToOneField(
  181. on_delete=django.db.models.deletion.PROTECT,
  182. related_name="%(app_label)s_%(class)s_related",
  183. to="expenses.source",
  184. ),
  185. ),
  186. ],
  187. options={
  188. "abstract": False,
  189. },
  190. ),
  191. migrations.CreateModel(
  192. name="Expense",
  193. fields=[
  194. (
  195. "id",
  196. models.BigAutoField(
  197. auto_created=True,
  198. primary_key=True,
  199. serialize=False,
  200. verbose_name="ID",
  201. ),
  202. ),
  203. ("object_id", models.PositiveIntegerField()),
  204. (
  205. "content_type",
  206. models.ForeignKey(
  207. on_delete=django.db.models.deletion.CASCADE,
  208. to="contenttypes.contenttype",
  209. ),
  210. ),
  211. ],
  212. options={
  213. "verbose_name": "Expense",
  214. "verbose_name_plural": "Expenses",
  215. },
  216. ),
  217. ]