client.py 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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.client import Client as HelpTexts
  5. from dbsynce.docs.verbose_names.client import Client as VerboseName
  6. from core.settings_vars import METASERVICE_ID
  7. from dbsynce.lib import dicts
  8. class Client(models.Model):
  9. """
  10. Client - это таблица с клиентами. Клиент/пользователь/аккаунт
  11. в системе, который по логике получает услугу.
  12. """
  13. # ID METASERVICE
  14. id_metaservice = models.PositiveIntegerField(
  15. default=METASERVICE_ID,
  16. verbose_name = VerboseName.id_metaservice,
  17. help_text=HelpTexts.id_metaservice,
  18. )
  19. # DATA
  20. requirements = models.CharField(
  21. max_length=50,
  22. #TODO ADD CORRECT DEFAULT!
  23. default="DSMPUB",
  24. verbose_name = VerboseName.requirements,
  25. help_text=HelpTexts.requirements,
  26. )
  27. status = models.CharField(
  28. max_length=1,
  29. default="1",
  30. choices = list(dicts.activity_status_by_code.items()),
  31. verbose_name = VerboseName.status,
  32. help_text=HelpTexts.status,
  33. )
  34. # OTHER
  35. is_global = models.CharField(
  36. max_length=1,
  37. default="f",
  38. choices = list(dicts.is_global_by_code.items()),
  39. verbose_name = VerboseName.is_global,
  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. verbose_name = VerboseName.is_visible,
  47. help_text=HelpTexts.is_visible,
  48. )
  49. # FK
  50. ticket_status = models.ForeignKey(
  51. Ticket,
  52. on_delete=models.DO_NOTHING,
  53. verbose_name = VerboseName.ticket_status,
  54. help_text=HelpTexts.ticket_status,
  55. )
  56. user = models.ForeignKey(
  57. get_user_model(),
  58. on_delete=models.DO_NOTHING,
  59. verbose_name = VerboseName.user,
  60. help_text=HelpTexts.user,
  61. )
  62. class Meta:
  63. db_table = "client"
  64. verbose_name = "Клиента"
  65. verbose_name_plural = "Клиенты"