feat: change EvaluationrequestModel fields from CharField to ForeignKey, such as value_determined, rate_goal, property_rights, form_ownership, and change the BaseEvaluationrequestSerializer fields
This commit is contained in:
@@ -2,7 +2,8 @@ import re
|
||||
|
||||
from rest_framework import serializers
|
||||
|
||||
from core.apps.evaluation.models import EvaluationrequestModel
|
||||
from core.apps.evaluation.models import EvaluationrequestModel, ReferenceitemModel
|
||||
from core.apps.evaluation.serializers.reference import ListReferenceitemSerializer
|
||||
|
||||
|
||||
class BaseEvaluationrequestSerializer(serializers.ModelSerializer):
|
||||
@@ -18,6 +19,10 @@ class BaseEvaluationrequestSerializer(serializers.ModelSerializer):
|
||||
location = serializers.SerializerMethodField()
|
||||
|
||||
location_name = serializers.CharField(required=False)
|
||||
value_determined = ListReferenceitemSerializer(read_only=True)
|
||||
rate_goal = ListReferenceitemSerializer(read_only=True)
|
||||
property_rights = ListReferenceitemSerializer(read_only=True)
|
||||
form_ownership = ListReferenceitemSerializer(read_only=True)
|
||||
|
||||
class Meta:
|
||||
model = EvaluationrequestModel
|
||||
@@ -88,18 +93,23 @@ class CreateEvaluationrequestSerializer(serializers.ModelSerializer):
|
||||
allow_blank=True,
|
||||
)
|
||||
|
||||
value_determined = serializers.IntegerField(required=False, allow_null=True)
|
||||
rate_goal = serializers.IntegerField(required=False, allow_null=True)
|
||||
property_rights = serializers.IntegerField(required=False, allow_null=True)
|
||||
form_ownership = serializers.IntegerField(required=False, allow_null=True)
|
||||
|
||||
class Meta:
|
||||
model = EvaluationrequestModel
|
||||
fields = [
|
||||
"value_determined",
|
||||
"rate_goal",
|
||||
"property_rights",
|
||||
"form_ownership",
|
||||
"rate_type",
|
||||
"object_type",
|
||||
"customer_inn_number",
|
||||
"owner_inn_number",
|
||||
"tex_passport",
|
||||
"value_determined",
|
||||
"rate_goal",
|
||||
"property_rights",
|
||||
"form_ownership",
|
||||
"worked_hours",
|
||||
"chassi",
|
||||
"need_delivering",
|
||||
@@ -139,6 +149,30 @@ class CreateEvaluationrequestSerializer(serializers.ModelSerializer):
|
||||
{"chassi": "Yuk avtomobil uchun shassi raqami majburiy."}
|
||||
)
|
||||
|
||||
if attrs.get("value_determined"):
|
||||
if attrs.get("value_determined") not in ReferenceitemModel.objects.values_list("id", flat=True):
|
||||
raise serializers.ValidationError(
|
||||
{"value_determined": "Noto'g'ri qiymat aniqlandi."}
|
||||
)
|
||||
|
||||
if attrs.get("rate_goal"):
|
||||
if attrs.get("rate_goal") not in ReferenceitemModel.objects.values_list("id", flat=True):
|
||||
raise serializers.ValidationError(
|
||||
{"rate_goal": "Noto'g'ri qiymat aniqlandi."}
|
||||
)
|
||||
|
||||
if attrs.get("property_rights"):
|
||||
if attrs.get("property_rights") not in ReferenceitemModel.objects.values_list("id", flat=True):
|
||||
raise serializers.ValidationError(
|
||||
{"property_rights": "Noto'g'ri qiymat aniqlandi."}
|
||||
)
|
||||
|
||||
if attrs.get("form_ownership"):
|
||||
if attrs.get("form_ownership") not in ReferenceitemModel.objects.values_list("id", flat=True):
|
||||
raise serializers.ValidationError(
|
||||
{"form_ownership": "Noto'g'ri qiymat aniqlandi."}
|
||||
)
|
||||
|
||||
return attrs
|
||||
|
||||
def create(self, validated_data):
|
||||
|
||||
Reference in New Issue
Block a user