Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
6fcb003
Merge pull request #275 from PROCOLLAB-github/fix_required_skills
sh1nkey Feb 14, 2024
4abd77d
fix required_skills serializer
yakser Feb 14, 2024
fbb1352
fix required_skills serializer
yakser Feb 14, 2024
99c5eed
Merge pull request #277 from PROCOLLAB-github/dev
IgorDuino Feb 16, 2024
2561e72
Merge pull request #278 from PROCOLLAB-github/flexivanov237-pro-170
sh1nkey Feb 16, 2024
df51d69
Merge pull request #279 from PROCOLLAB-github/flexivanov237-pro-170
sh1nkey Feb 16, 2024
78f4c00
Merge pull request #280 from PROCOLLAB-github/flexivanov237-pro-170
sh1nkey Feb 16, 2024
da12c13
Merge pull request #293 from PROCOLLAB-github/dev
yakser Feb 22, 2024
8c93cc8
Merge pull request #299 from PROCOLLAB-github/dev
sh1nkey Feb 23, 2024
e3a7321
Merge pull request #301 from PROCOLLAB-github/dev
sh1nkey Feb 24, 2024
2c64569
Merge pull request #304 from PROCOLLAB-github/dev
sh1nkey Feb 26, 2024
77a416c
add type-hints vacancy
DaniilSvinsov Feb 29, 2024
7f69ddf
add type-hints vacancy
DaniilSvinsov Mar 18, 2024
f706ae3
add type-hints vacancy
DaniilSvinsov Mar 18, 2024
be8f3ef
add norm type-hints vacancy
DaniilSvinsov Mar 21, 2024
284ce77
Merge remote-tracking branch 'origin/dev' into daniilsvinsov-67
DaniilSvinsov Mar 30, 2024
7250222
add type-hints vacancy
DaniilSvinsov Mar 31, 2024
974940d
hmhmhm
DaniilSvinsov Mar 31, 2024
a5a88aa
small fix 1
DaniilSvinsov Mar 31, 2024
c9294e5
small fix 2
DaniilSvinsov Mar 31, 2024
6b604d7
rollback
DaniilSvinsov Mar 31, 2024
575e2f2
first type-hints vacancy
DaniilSvinsov Mar 31, 2024
3d8f285
type-hints vacancy
DaniilSvinsov Mar 31, 2024
8fa264c
small fix type-hints
DaniilSvinsov Apr 6, 2024
fa94f00
add type-hints core
DaniilSvinsov Apr 8, 2024
7779dbf
fix anyway
DaniilSvinsov Apr 11, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions core/fields.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@


class CustomListField(serializers.ListField):
def to_representation(self, data):
def to_representation(self, data) -> list:
return [value.strip() for value in data.split(",") if value.strip()]

def to_internal_value(self, data):
def to_internal_value(self, data) -> str:
return ",".join(data)
33 changes: 17 additions & 16 deletions core/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
from django.contrib.contenttypes.models import ContentType
from django.db import models
from django.db.models import Model
from django_stubs_ext.db.models import TypedModelMeta

User = get_user_model()

Expand All @@ -23,7 +24,7 @@ class Link(Model):
object_id = models.PositiveIntegerField()
content_object = GenericForeignKey("content_type", "object_id")

class Meta:
class Meta(TypedModelMeta):
unique_together = (
"link",
"content_type",
Expand All @@ -32,7 +33,7 @@ class Meta:
verbose_name = "Ссылка"
verbose_name_plural = "Ссылки"

def __str__(self):
def __str__(self) -> str:
return f"Link for {self.content_object} - {self.link}"


Expand All @@ -54,7 +55,7 @@ class Like(Model):
object_id = models.PositiveIntegerField()
content_object = GenericForeignKey("content_type", "object_id")

class Meta:
class Meta(TypedModelMeta):
unique_together = (
"user",
"content_type",
Expand All @@ -63,7 +64,7 @@ class Meta:
verbose_name = "Лайк"
verbose_name_plural = "Лайки"

def __str__(self):
def __str__(self) -> str:
return f"Like<{self.user} - {self.content_object}>"


Expand All @@ -88,7 +89,7 @@ class View(Model):
object_id = models.PositiveIntegerField()
content_object = GenericForeignKey("content_type", "object_id")

class Meta:
class Meta(TypedModelMeta):
unique_together = (
"user",
"content_type",
Expand All @@ -97,7 +98,7 @@ class Meta:
verbose_name = "Просмотр"
verbose_name_plural = "Просмотры"

def __str__(self):
def __str__(self) -> str:
return f"View<{self.user} - {self.content_object}>"


Expand All @@ -108,10 +109,10 @@ class SkillCategory(models.Model):

name = models.CharField(max_length=256, null=False)

def __str__(self):
def __str__(self) -> str:
return self.name

class Meta:
class Meta(TypedModelMeta):
verbose_name = "Категория навыка"
verbose_name_plural = "Категории навыков"
ordering = ["name"]
Expand All @@ -129,13 +130,13 @@ class Skill(models.Model):
related_name="skills",
)

def __str__(self):
def __str__(self) -> str:
return self.name

def __repr__(self):
def __repr__(self) -> str:
return f"Skill<name={self.name},id={self.id}>"

class Meta:
class Meta(TypedModelMeta):
verbose_name = "Навык"
verbose_name_plural = "Навыки"
ordering = ["id", "category", "name"]
Expand All @@ -160,18 +161,18 @@ class SkillToObject(models.Model):
object_id = models.PositiveIntegerField()
content_object = GenericForeignKey("content_type", "object_id")

class Meta:
class Meta(TypedModelMeta):
verbose_name = "Ссылка на навык"
verbose_name_plural = "Ссылки на навыки"


class SpecializationCategory(models.Model):
name = models.TextField()

def __str__(self):
def __str__(self) -> str:
return self.name

class Meta:
class Meta(TypedModelMeta):
verbose_name = "Категория специализации"
verbose_name_plural = "Категории специализаций"

Expand All @@ -182,10 +183,10 @@ class Specialization(models.Model):
SpecializationCategory, related_name="specializations", on_delete=models.CASCADE
)

def __str__(self):
def __str__(self) -> str:
return self.name

class Meta:
class Meta(TypedModelMeta):
verbose_name = "Специализация"
verbose_name_plural = "Специализации"

Expand Down
6 changes: 3 additions & 3 deletions core/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ class SetLikedSerializer(serializers.Serializer):
is_liked = serializers.BooleanField()


class SetViewedSerializer(serializers.Serializer):
class SetViewedSerializer(serializers.Serializer[SkillCategory]):
is_viewed = serializers.BooleanField()


Expand All @@ -20,15 +20,15 @@ class Meta:
]


class SkillSerializer(serializers.ModelSerializer):
class SkillSerializer(serializers.ModelSerializer[Skill]):
category = SkillCategorySerializer()

class Meta:
model = Skill
fields = ["id", "name", "category"]


class SkillToObjectSerializer(serializers.ModelSerializer):
class SkillToObjectSerializer(serializers.ModelSerializer[SkillToObject]):
id = serializers.IntegerField(source="skill.id")
name = serializers.CharField(source="skill.name")
category = SkillCategorySerializer(source="skill.category")
Expand Down
3 changes: 2 additions & 1 deletion vacancy/filters.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
from django_filters import rest_framework as filters

from vacancy.models import Vacancy
from django.db.models import QuerySet


def project_id_filter(queryset, name, value):
def project_id_filter(queryset, name, value) -> QuerySet:
return queryset.filter(
**{
"project_id": value[0],
Expand Down
9 changes: 5 additions & 4 deletions vacancy/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

from projects.models import Project
from vacancy.managers import VacancyManager, VacancyResponseManager
from django_stubs_ext.db.models import TypedModelMeta


class Vacancy(models.Model):
Expand Down Expand Up @@ -51,10 +52,10 @@ def get_required_skills(self):
required_skills.append(sto.skill)
return required_skills

def __str__(self):
def __str__(self) -> str:
return f"Vacancy<{self.id}> - {self.role}"

class Meta:
class Meta(TypedModelMeta):
verbose_name = "Вакансия"
verbose_name_plural = "Вакансии"
ordering = ["-datetime_created"]
Expand Down Expand Up @@ -100,10 +101,10 @@ class VacancyResponse(models.Model):

objects = VacancyResponseManager()

def __str__(self):
def __str__(self) -> str:
return f"VacancyResponse<{self.id}> - {self.user} - {self.vacancy}"

class Meta:
class Meta(TypedModelMeta):
verbose_name = "Отклик на вакансию"
verbose_name_plural = "Отклик на вакансии"
ordering = ["-datetime_created"]
16 changes: 8 additions & 8 deletions vacancy/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ class RequiredSkillsWriteSerializerMixin(RequiredSkillsSerializerMixin):
)


class ProjectForVacancySerializer(serializers.ModelSerializer):
class ProjectForVacancySerializer(serializers.ModelSerializer[Project]):
class Meta:
model = Project
fields = [
Expand All @@ -33,7 +33,7 @@ class Meta:


class VacancyDetailSerializer(
serializers.ModelSerializer, RequiredSkillsWriteSerializerMixin
serializers.ModelSerializer, RequiredSkillsWriteSerializerMixin[Vacancy]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

неправильный тайпхинт

):
project = ProjectForVacancySerializer(many=False, read_only=True)

Expand All @@ -53,7 +53,7 @@ class Meta:
read_only_fields = ["project"]


class VacancyListSerializer(serializers.ModelSerializer, RequiredSkillsSerializerMixin):
class VacancyListSerializer(serializers.ModelSerializer, RequiredSkillsSerializerMixin[Vacancy]):
class Meta:
model = Vacancy
fields = [
Expand All @@ -69,7 +69,7 @@ class Meta:


class ProjectVacancyListSerializer(
serializers.ModelSerializer, RequiredSkillsSerializerMixin
serializers.ModelSerializer, RequiredSkillsSerializerMixin[Vacancy]
):
class Meta:
model = Vacancy
Expand All @@ -84,7 +84,7 @@ class Meta:


class ProjectVacancyCreateListSerializer(
serializers.ModelSerializer, RequiredSkillsWriteSerializerMixin
serializers.ModelSerializer, RequiredSkillsWriteSerializerMixin[Vacancy]
):
def create(self, validated_data):
project = validated_data["project"]
Expand Down Expand Up @@ -124,7 +124,7 @@ class Meta:
]


class VacancyResponseListSerializer(serializers.ModelSerializer):
class VacancyResponseListSerializer(serializers.ModelSerializer[VacancyResponse]):
is_approved = serializers.BooleanField(read_only=True)
user = UserDetailSerializer(read_only=True)
user_id = serializers.IntegerField(write_only=True)
Expand Down Expand Up @@ -165,7 +165,7 @@ def create(self, validated_data):
return vacancy_response


class VacancyResponseDetailSerializer(serializers.ModelSerializer):
class VacancyResponseDetailSerializer(serializers.ModelSerializer[VacancyResponse]):
user = UserDetailSerializer(many=False, read_only=True)
vacancy = VacancyListSerializer(many=False, read_only=True)
is_approved = serializers.BooleanField(read_only=True)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

почему удалил кусок кода?

Expand All @@ -183,5 +183,5 @@ class Meta:
]


class VacancyResponseAcceptSerializer(VacancyResponseDetailSerializer):
class VacancyResponseAcceptSerializer(VacancyResponseDetailSerializer[VacancyResponse]):
is_approved = serializers.BooleanField(required=True, read_only=False)