relationship.py 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. from django.contrib.auth import get_user_model
  2. from django.db import models
  3. from tickets.models import Ticket
  4. from dbsynce.docs.database.relationship import Relationship as HelpTexts
  5. from core.settings_vars import METASERVICE_ID
  6. from dbsynce.lib import dicts
  7. class Relationship(models.Model):
  8. """
  9. Relationship - описание связей
  10. (желательных - как имеющиеся договорные отношения,
  11. и нежелательных - как пожелание любой из сторон)
  12. """
  13. # ID METASERVICE
  14. id_metaservice = models.PositiveIntegerField(
  15. default=METASERVICE_ID,
  16. help_text=HelpTexts.id_metaservice
  17. )
  18. # DATA
  19. neg_type = models.IntegerField(
  20. choices = list(dicts.neg_type_by_code.items()),
  21. help_text=HelpTexts.neg_type
  22. )
  23. requirements = models.CharField(
  24. max_length=50,
  25. #TODO ADD CORRECT DEFAULT!
  26. default="DSMPUB",
  27. help_text=HelpTexts.requirements
  28. )
  29. status = models.CharField(
  30. max_length=1,
  31. default="1",
  32. choices = list(dicts.activity_status_by_code.items()),
  33. help_text=HelpTexts.status
  34. )
  35. # OTHER
  36. is_global = models.CharField(
  37. max_length=1,
  38. default="f",
  39. choices = list(dicts.is_global_by_code.items()),
  40. help_text=HelpTexts.is_global
  41. )
  42. is_visible = models.CharField(
  43. max_length=1,
  44. default="f",
  45. choices = list(dicts.is_visible_by_code.items()),
  46. help_text=HelpTexts.is_visible
  47. )
  48. # FK
  49. user_who = models.ForeignKey(
  50. get_user_model(),
  51. related_name="user_who",
  52. on_delete=models.DO_NOTHING,
  53. help_text=HelpTexts.user_who
  54. )
  55. user_whom = models.ForeignKey(
  56. get_user_model(),
  57. related_name="user_whom",
  58. on_delete=models.DO_NOTHING,
  59. help_text=HelpTexts.user_whom
  60. )
  61. ticket_status = models.ForeignKey(
  62. Ticket,
  63. on_delete=models.DO_NOTHING,
  64. help_text=HelpTexts.ticket_status
  65. )
  66. class Meta:
  67. db_table = "relationship"
  68. verbose_name = "Связь (Договорное отношение)"
  69. verbose_name_plural = "Связи (Договорные отношения)"