0001_initial.py 7.4 KB

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