0001_initial.py 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. # Generated by Django 5.0 on 2023-12-26 02:01
  2. import django.contrib.auth.models
  3. import django.contrib.auth.validators
  4. import django.core.validators
  5. import django.db.models.deletion
  6. import django.utils.timezone
  7. import shop.models
  8. from django.conf import settings
  9. from django.db import migrations, models
  10. class Migration(migrations.Migration):
  11. initial = True
  12. dependencies = [
  13. ("auth", "0012_alter_user_first_name_max_length"),
  14. ]
  15. operations = [
  16. migrations.CreateModel(
  17. name="Category",
  18. fields=[
  19. (
  20. "id",
  21. models.BigAutoField(
  22. auto_created=True,
  23. primary_key=True,
  24. serialize=False,
  25. verbose_name="ID",
  26. ),
  27. ),
  28. (
  29. "name",
  30. models.CharField(help_text="Введите категории", max_length=100),
  31. ),
  32. ],
  33. ),
  34. migrations.CreateModel(
  35. name="CastomUser",
  36. fields=[
  37. (
  38. "id",
  39. models.BigAutoField(
  40. auto_created=True,
  41. primary_key=True,
  42. serialize=False,
  43. verbose_name="ID",
  44. ),
  45. ),
  46. (
  47. "last_login",
  48. models.DateTimeField(
  49. blank=True, null=True, verbose_name="last login"
  50. ),
  51. ),
  52. (
  53. "is_superuser",
  54. models.BooleanField(
  55. default=False,
  56. help_text="Designates that this user has all permissions without explicitly assigning them.",
  57. verbose_name="superuser status",
  58. ),
  59. ),
  60. (
  61. "username",
  62. models.CharField(
  63. error_messages={
  64. "unique": "A user with that username already exists."
  65. },
  66. help_text="Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.",
  67. max_length=150,
  68. unique=True,
  69. validators=[
  70. django.contrib.auth.validators.UnicodeUsernameValidator()
  71. ],
  72. verbose_name="username",
  73. ),
  74. ),
  75. (
  76. "is_staff",
  77. models.BooleanField(
  78. default=False,
  79. help_text="Designates whether the user can log into this admin site.",
  80. verbose_name="staff status",
  81. ),
  82. ),
  83. (
  84. "is_active",
  85. models.BooleanField(
  86. default=True,
  87. help_text="Designates whether this user should be treated as active. Unselect this instead of deleting accounts.",
  88. verbose_name="active",
  89. ),
  90. ),
  91. (
  92. "date_joined",
  93. models.DateTimeField(
  94. default=django.utils.timezone.now, verbose_name="date joined"
  95. ),
  96. ),
  97. ("first_name", models.CharField(max_length=254, verbose_name="Имя")),
  98. ("last_name", models.CharField(max_length=254, verbose_name="Фамилия")),
  99. ("email", models.CharField(max_length=254, verbose_name="Пoчтa")),
  100. ("password", models.CharField(max_length=254, verbose_name="Пapoль")),
  101. (
  102. "role",
  103. models.CharField(
  104. choices=[("admin", "Администратор"), ("user", "Пoльзователь")],
  105. default="user",
  106. max_length=254,
  107. verbose_name="Poль",
  108. ),
  109. ),
  110. (
  111. "groups",
  112. models.ManyToManyField(
  113. blank=True,
  114. help_text="The groups this user belongs to. A user will get all permissions granted to each of their groups.",
  115. related_name="user_set",
  116. related_query_name="user",
  117. to="auth.group",
  118. verbose_name="groups",
  119. ),
  120. ),
  121. (
  122. "user_permissions",
  123. models.ManyToManyField(
  124. blank=True,
  125. help_text="Specific permissions for this user.",
  126. related_name="user_set",
  127. related_query_name="user",
  128. to="auth.permission",
  129. verbose_name="user permissions",
  130. ),
  131. ),
  132. ],
  133. options={
  134. "verbose_name": "user",
  135. "verbose_name_plural": "users",
  136. "abstract": False,
  137. },
  138. managers=[
  139. ("objects", django.contrib.auth.models.UserManager()),
  140. ],
  141. ),
  142. migrations.CreateModel(
  143. name="Application",
  144. fields=[
  145. (
  146. "id",
  147. models.BigAutoField(
  148. auto_created=True,
  149. primary_key=True,
  150. serialize=False,
  151. verbose_name="ID",
  152. ),
  153. ),
  154. ("title", models.CharField(max_length=200)),
  155. ("summary", models.TextField(help_text="Опишите свою заявку ")),
  156. (
  157. "photo_file",
  158. models.ImageField(
  159. max_length=254,
  160. upload_to="image/",
  161. validators=[
  162. shop.models.Application.validate_image,
  163. django.core.validators.FileExtensionValidator(
  164. ["jpg", "jpeg", "png", "bmp"]
  165. ),
  166. ],
  167. ),
  168. ),
  169. (
  170. "status",
  171. models.CharField(
  172. choices=[
  173. ("N", "Новая"),
  174. ("P", "Принято в работу"),
  175. ("C", "Выполнено"),
  176. ],
  177. default="N",
  178. max_length=254,
  179. verbose_name="Статус",
  180. ),
  181. ),
  182. (
  183. "date",
  184. models.DateTimeField(
  185. default=django.utils.timezone.now,
  186. verbose_name="Дата добавления",
  187. ),
  188. ),
  189. (
  190. "user",
  191. models.ForeignKey(
  192. on_delete=django.db.models.deletion.CASCADE,
  193. to=settings.AUTH_USER_MODEL,
  194. verbose_name="Пользователь",
  195. ),
  196. ),
  197. (
  198. "category",
  199. models.ForeignKey(
  200. help_text="Выберите категорию",
  201. on_delete=django.db.models.deletion.CASCADE,
  202. to="shop.category",
  203. ),
  204. ),
  205. ],
  206. ),
  207. ]