1
0

orders.py 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. from django.contrib.auth import get_user_model
  2. from django.db import models
  3. from dbsynce.models.client import Client
  4. from dbsynce.models.company import Company
  5. from dbsynce.models.provider import Provider
  6. from dbsynce.models.service import Service
  7. from dbsynce.models.service_category import ServiceCategory
  8. from tickets.models import Ticket
  9. from dbsynce.docs.database.orders import Orders as HelpTexts
  10. from core.settings_vars import METASERVICE_ID
  11. class Orders(models.Model):
  12. """
  13. Orders - таблица с заказами
  14. """
  15. # ID METASERVICE
  16. id_metaservice = models.PositiveIntegerField(
  17. default=METASERVICE_ID,
  18. help_text=HelpTexts.id_metaservice
  19. )
  20. # DATA
  21. status = models.CharField(
  22. max_length=150,
  23. help_text=HelpTexts.status
  24. )
  25. title = models.CharField(
  26. max_length=150,
  27. help_text=HelpTexts.title,
  28. default='Заголовок'
  29. )
  30. note = models.CharField(
  31. max_length=150,
  32. help_text=HelpTexts.note,
  33. default='Записи'
  34. )
  35. time_created = models.DateTimeField(
  36. auto_now_add=True,
  37. help_text=HelpTexts.time_created
  38. )
  39. time_placed = models.DateTimeField(
  40. help_text=HelpTexts.time_placed
  41. )
  42. time_start = models.DateTimeField(
  43. null=True,
  44. help_text=HelpTexts.time_start
  45. )
  46. time_start_real = models.DateTimeField(
  47. null=True,
  48. help_text=HelpTexts.time_start_real
  49. )
  50. time_start_predicted = models.DateTimeField(
  51. null=True,
  52. help_text=HelpTexts.time_start_predicted
  53. )
  54. time_finish_real = models.DateTimeField(
  55. null=True,
  56. help_text=HelpTexts.time_finish_real
  57. )
  58. time_finish_predicted = models.DateTimeField(
  59. help_text=HelpTexts.time_finish_predicted
  60. )
  61. real_price = models.FloatField(
  62. help_text=HelpTexts.real_price
  63. )
  64. predicted_price = models.FloatField(
  65. help_text=HelpTexts.predicted_price
  66. )
  67. # NOTE: Возможно в будующем можнос сделать символом
  68. asap = models.BooleanField(
  69. default=False,
  70. help_text=HelpTexts.asap
  71. )
  72. # OTHER
  73. is_global = models.CharField(
  74. max_length=1,
  75. default="f",
  76. help_text=HelpTexts.is_global
  77. )
  78. is_visible = models.CharField(
  79. max_length=1,
  80. default="f",
  81. help_text=HelpTexts.is_visible
  82. )
  83. # FK
  84. ticket = models.ForeignKey(
  85. Ticket,
  86. null=True,
  87. on_delete=models.DO_NOTHING,
  88. help_text=HelpTexts.ticket
  89. )
  90. service = models.ForeignKey(
  91. Service,
  92. null=True,
  93. on_delete=models.DO_NOTHING,
  94. help_text=HelpTexts.service
  95. )
  96. service_category = models.ForeignKey(
  97. ServiceCategory,
  98. null=True,
  99. on_delete=models.DO_NOTHING,
  100. help_text=HelpTexts.service_category
  101. )
  102. client = models.ForeignKey(
  103. Client,
  104. null=True,
  105. on_delete=models.DO_NOTHING,
  106. help_text=HelpTexts.client
  107. )
  108. provider = models.ForeignKey(
  109. Provider,
  110. null=True,
  111. on_delete=models.DO_NOTHING,
  112. help_text=HelpTexts.provider
  113. )
  114. receiver = models.ForeignKey(
  115. get_user_model(),
  116. null=True,
  117. related_name="user",
  118. on_delete=models.DO_NOTHING,
  119. help_text=HelpTexts.receiver
  120. )
  121. company = models.ForeignKey(
  122. Company,
  123. on_delete=models.DO_NOTHING,
  124. null=True,
  125. help_text=HelpTexts.company
  126. )
  127. class Meta:
  128. db_table = "orders"
  129. verbose_name = "Заказ"
  130. verbose_name_plural = "Заказы"