Skip to content

Conversation

@sh1nkey
Copy link
Member

@sh1nkey sh1nkey commented Feb 29, 2024

провёл рефакторинг POST запроса для создания оценок проектов по критериям


class ProjectScoreCreateSerializer(serializers.ModelSerializer):
def __init__(self, *args, **kwargs):
self.criteria_to_get = kwargs.pop("criteria_to_get", None)
Copy link
Member Author

Choose a reason for hiding this comment

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

для этого не было особых причин, но я подумал, что так передавать аргумент в классе сериалайзера будет удобно

model = ProjectScore
fields = ["criteria", "user", "project", "value"]
fields = ("criteria", "user", "project", "value")
validators = []
Copy link
Member Author

Choose a reason for hiding this comment

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

потому что иначе у меня будет автоматическая проверка на unique_together, а это мне не нужно, потому что дальше по коду будет обновление/создание оценок. если тут вылезет ошибка, то create_in_bulk обновить их не сможет

fields = ("criteria", "user", "project", "value")
validators = []

def get_queryset(self):
Copy link
Member Author

@sh1nkey sh1nkey Feb 29, 2024

Choose a reason for hiding this comment

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

сериалайзер подгружает данные, оказывается. скорее всего, для каждого объекта в списке отдельно. это не круто. я не доверяю ему, поэтому сделал по своему

@sh1nkey sh1nkey merged commit b6112c1 into dev Mar 12, 2024
@sh1nkey sh1nkey deleted the project_rates_post_refactoring branch March 18, 2024 06:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants