|
@@ -0,0 +1,212 @@
|
|
|
+# Generated by Django 5.0 on 2023-12-26 02:01
|
|
|
+
|
|
|
+import django.contrib.auth.models
|
|
|
+import django.contrib.auth.validators
|
|
|
+import django.core.validators
|
|
|
+import django.db.models.deletion
|
|
|
+import django.utils.timezone
|
|
|
+import shop.models
|
|
|
+from django.conf import settings
|
|
|
+from django.db import migrations, models
|
|
|
+
|
|
|
+
|
|
|
+class Migration(migrations.Migration):
|
|
|
+ initial = True
|
|
|
+
|
|
|
+ dependencies = [
|
|
|
+ ("auth", "0012_alter_user_first_name_max_length"),
|
|
|
+ ]
|
|
|
+
|
|
|
+ operations = [
|
|
|
+ migrations.CreateModel(
|
|
|
+ name="Category",
|
|
|
+ fields=[
|
|
|
+ (
|
|
|
+ "id",
|
|
|
+ models.BigAutoField(
|
|
|
+ auto_created=True,
|
|
|
+ primary_key=True,
|
|
|
+ serialize=False,
|
|
|
+ verbose_name="ID",
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ "name",
|
|
|
+ models.CharField(help_text="Введите категории", max_length=100),
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ migrations.CreateModel(
|
|
|
+ name="CastomUser",
|
|
|
+ fields=[
|
|
|
+ (
|
|
|
+ "id",
|
|
|
+ models.BigAutoField(
|
|
|
+ auto_created=True,
|
|
|
+ primary_key=True,
|
|
|
+ serialize=False,
|
|
|
+ verbose_name="ID",
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ "last_login",
|
|
|
+ models.DateTimeField(
|
|
|
+ blank=True, null=True, verbose_name="last login"
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ "is_superuser",
|
|
|
+ models.BooleanField(
|
|
|
+ default=False,
|
|
|
+ help_text="Designates that this user has all permissions without explicitly assigning them.",
|
|
|
+ verbose_name="superuser status",
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ "username",
|
|
|
+ models.CharField(
|
|
|
+ error_messages={
|
|
|
+ "unique": "A user with that username already exists."
|
|
|
+ },
|
|
|
+ help_text="Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.",
|
|
|
+ max_length=150,
|
|
|
+ unique=True,
|
|
|
+ validators=[
|
|
|
+ django.contrib.auth.validators.UnicodeUsernameValidator()
|
|
|
+ ],
|
|
|
+ verbose_name="username",
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ "is_staff",
|
|
|
+ models.BooleanField(
|
|
|
+ default=False,
|
|
|
+ help_text="Designates whether the user can log into this admin site.",
|
|
|
+ verbose_name="staff status",
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ "is_active",
|
|
|
+ models.BooleanField(
|
|
|
+ default=True,
|
|
|
+ help_text="Designates whether this user should be treated as active. Unselect this instead of deleting accounts.",
|
|
|
+ verbose_name="active",
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ "date_joined",
|
|
|
+ models.DateTimeField(
|
|
|
+ default=django.utils.timezone.now, verbose_name="date joined"
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ("first_name", models.CharField(max_length=254, verbose_name="Имя")),
|
|
|
+ ("last_name", models.CharField(max_length=254, verbose_name="Фамилия")),
|
|
|
+ ("email", models.CharField(max_length=254, verbose_name="Пoчтa")),
|
|
|
+ ("password", models.CharField(max_length=254, verbose_name="Пapoль")),
|
|
|
+ (
|
|
|
+ "role",
|
|
|
+ models.CharField(
|
|
|
+ choices=[("admin", "Администратор"), ("user", "Пoльзователь")],
|
|
|
+ default="user",
|
|
|
+ max_length=254,
|
|
|
+ verbose_name="Poль",
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ "groups",
|
|
|
+ models.ManyToManyField(
|
|
|
+ blank=True,
|
|
|
+ help_text="The groups this user belongs to. A user will get all permissions granted to each of their groups.",
|
|
|
+ related_name="user_set",
|
|
|
+ related_query_name="user",
|
|
|
+ to="auth.group",
|
|
|
+ verbose_name="groups",
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ "user_permissions",
|
|
|
+ models.ManyToManyField(
|
|
|
+ blank=True,
|
|
|
+ help_text="Specific permissions for this user.",
|
|
|
+ related_name="user_set",
|
|
|
+ related_query_name="user",
|
|
|
+ to="auth.permission",
|
|
|
+ verbose_name="user permissions",
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ options={
|
|
|
+ "verbose_name": "user",
|
|
|
+ "verbose_name_plural": "users",
|
|
|
+ "abstract": False,
|
|
|
+ },
|
|
|
+ managers=[
|
|
|
+ ("objects", django.contrib.auth.models.UserManager()),
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ migrations.CreateModel(
|
|
|
+ name="Application",
|
|
|
+ fields=[
|
|
|
+ (
|
|
|
+ "id",
|
|
|
+ models.BigAutoField(
|
|
|
+ auto_created=True,
|
|
|
+ primary_key=True,
|
|
|
+ serialize=False,
|
|
|
+ verbose_name="ID",
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ("title", models.CharField(max_length=200)),
|
|
|
+ ("summary", models.TextField(help_text="Опишите свою заявку ")),
|
|
|
+ (
|
|
|
+ "photo_file",
|
|
|
+ models.ImageField(
|
|
|
+ max_length=254,
|
|
|
+ upload_to="image/",
|
|
|
+ validators=[
|
|
|
+ shop.models.Application.validate_image,
|
|
|
+ django.core.validators.FileExtensionValidator(
|
|
|
+ ["jpg", "jpeg", "png", "bmp"]
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ "status",
|
|
|
+ models.CharField(
|
|
|
+ choices=[
|
|
|
+ ("N", "Новая"),
|
|
|
+ ("P", "Принято в работу"),
|
|
|
+ ("C", "Выполнено"),
|
|
|
+ ],
|
|
|
+ default="N",
|
|
|
+ max_length=254,
|
|
|
+ verbose_name="Статус",
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ "date",
|
|
|
+ models.DateTimeField(
|
|
|
+ default=django.utils.timezone.now,
|
|
|
+ verbose_name="Дата добавления",
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ "user",
|
|
|
+ models.ForeignKey(
|
|
|
+ on_delete=django.db.models.deletion.CASCADE,
|
|
|
+ to=settings.AUTH_USER_MODEL,
|
|
|
+ verbose_name="Пользователь",
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ "category",
|
|
|
+ models.ForeignKey(
|
|
|
+ help_text="Выберите категорию",
|
|
|
+ on_delete=django.db.models.deletion.CASCADE,
|
|
|
+ to="shop.category",
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ ]
|