orders.py 3.6 KB

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