resource.py 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  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.resource import Resource as HelpTexts
  5. from dbsynce.docs.verbose_names.resource import Resource as VerboseName
  6. from core.settings_vars import METASERVICE_ID
  7. from dbsynce.lib import dicts
  8. class Resource(models.Model):
  9. """
  10. Resource/Список ресурсов – автомобили/дома/объекты сервиса
  11. """
  12. # ID METASERVICE
  13. id_metaservice = models.PositiveIntegerField(
  14. default=METASERVICE_ID,
  15. verbose_name = VerboseName.id_metaservice,
  16. help_text=HelpTexts.id_metaservice,
  17. )
  18. # DATA
  19. resource_type = models.CharField(
  20. max_length=10,
  21. choices = list(dicts.resource_type_by_code.items()),
  22. verbose_name = VerboseName.resource_type,
  23. help_text=HelpTexts.resource_type,
  24. )
  25. requirements = models.CharField(
  26. max_length=50,
  27. default="DS01y04y05y06y07yMPUCS13MPUB",
  28. verbose_name = VerboseName.requirements,
  29. help_text=HelpTexts.requirements,
  30. )
  31. status = models.CharField(
  32. max_length=1,
  33. default="1",
  34. choices = list(dicts.activity_status_by_code.items()),
  35. verbose_name = VerboseName.status,
  36. help_text=HelpTexts.status,
  37. )
  38. # OTHER
  39. is_global = models.CharField(
  40. max_length=1,
  41. default="1",
  42. choices = list(dicts.is_global_by_code.items()),
  43. verbose_name = VerboseName.is_global,
  44. help_text=HelpTexts.is_global,
  45. )
  46. is_visible = models.CharField(
  47. max_length=1,
  48. default="1",
  49. choices = list(dicts.is_visible_by_code.items()),
  50. verbose_name = VerboseName.is_visible,
  51. help_text=HelpTexts.is_visible,
  52. )
  53. # FK
  54. ticket_status = models.ForeignKey(
  55. Ticket,
  56. on_delete=models.SET_NULL,
  57. blank=True,
  58. null=True,
  59. verbose_name = VerboseName.ticket_status,
  60. help_text=HelpTexts.ticket_status,
  61. )
  62. user = models.ForeignKey(
  63. get_user_model(),
  64. blank=True,
  65. null=True,
  66. on_delete=models.DO_NOTHING,
  67. verbose_name = VerboseName.user,
  68. help_text=HelpTexts.user,
  69. )
  70. class Meta:
  71. db_table = "resource"
  72. verbose_name = "Ресурс"
  73. verbose_name_plural = "Ресурсы"