Merge pull request 'feat: change EvaluationrequestModel fields from CharField to ForeignKey, such as value_determined, rate_goal, property_rights, form_ownership, and change the BaseEvaluationrequestSerializer fields' (#38) from behruz into main
Some checks failed
Deploy to Production / build-and-deploy (push) Failing after 1m25s
Some checks failed
Deploy to Production / build-and-deploy (push) Failing after 1m25s
Reviewed-on: #38
This commit is contained in:
@@ -24,7 +24,7 @@ class EvaluationrequestAdmin(ModelAdmin):
|
||||
"tex_passport",
|
||||
"user__phone",
|
||||
)
|
||||
readonly_fields = ("user", "created_at", "updated_at")
|
||||
readonly_fields = ("created_at", "updated_at")
|
||||
fieldsets = (
|
||||
("Asosiy", {
|
||||
"fields": (
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
# Generated by Django 5.2.7 on 2026-04-02 12:34
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('evaluation', '0024_add_history_indexes'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='evaluationrequestmodel',
|
||||
name='form_ownership',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='evaluation_form_ownership_requests', to='evaluation.referenceitemmodel', verbose_name='form ownership'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='evaluationrequestmodel',
|
||||
name='property_rights',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='evaluation_property_rights_requests', to='evaluation.referenceitemmodel', verbose_name='property rights'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='evaluationrequestmodel',
|
||||
name='rate_goal',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='evaluation_rate_goal_requests', to='evaluation.referenceitemmodel', verbose_name='rate goal'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='evaluationrequestmodel',
|
||||
name='value_determined',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='evaluation_value_determined_requests', to='evaluation.referenceitemmodel', verbose_name='value determined'),
|
||||
),
|
||||
]
|
||||
@@ -44,21 +44,37 @@ class EvaluationrequestModel(AbstractBaseModel):
|
||||
blank=True,
|
||||
null=True,
|
||||
)
|
||||
value_determined = models.CharField(
|
||||
value_determined = models.ForeignKey(
|
||||
"evaluation.ReferenceitemModel",
|
||||
verbose_name=_("value determined"),
|
||||
max_length=100,
|
||||
related_name="evaluation_value_determined_requests",
|
||||
on_delete=models.SET_NULL,
|
||||
blank=True,
|
||||
null=True,
|
||||
)
|
||||
rate_goal = models.CharField(
|
||||
rate_goal = models.ForeignKey(
|
||||
"evaluation.ReferenceitemModel",
|
||||
verbose_name=_("rate goal"),
|
||||
max_length=100,
|
||||
related_name="evaluation_rate_goal_requests",
|
||||
on_delete=models.SET_NULL,
|
||||
blank=True,
|
||||
null=True,
|
||||
)
|
||||
property_rights = models.CharField(
|
||||
property_rights = models.ForeignKey(
|
||||
"evaluation.ReferenceitemModel",
|
||||
verbose_name=_("property rights"),
|
||||
max_length=100,
|
||||
related_name="evaluation_property_rights_requests",
|
||||
on_delete=models.SET_NULL,
|
||||
blank=True,
|
||||
null=True,
|
||||
)
|
||||
form_ownership = models.CharField(
|
||||
form_ownership = models.ForeignKey(
|
||||
"evaluation.ReferenceitemModel",
|
||||
verbose_name=_("form ownership"),
|
||||
max_length=100,
|
||||
related_name="evaluation_form_ownership_requests",
|
||||
on_delete=models.SET_NULL,
|
||||
blank=True,
|
||||
null=True,
|
||||
)
|
||||
worked_hours = models.IntegerField(
|
||||
verbose_name=_("worked hours"),
|
||||
|
||||
@@ -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