finished the addresses app

This commit is contained in:
arvinbehbahani562@gmail.com
2026-05-13 16:46:50 +03:30
parent bb4186f3b5
commit 2d5311702d
8 changed files with 142 additions and 21 deletions
+14 -3
View File
@@ -17,10 +17,13 @@ class CitySerializer(serializers.ModelSerializer):
class AddressSerializer(serializers.ModelSerializer):
province_name = serializers.CharField(source="province.province_name", read_only=True)
city_name = serializers.CharField(source="city.city_name", read_only=True)
user_email = serializers.EmailField(source="user.email", read_only=True)
absolute_url = serializers.SerializerMethodField(method_name="get_absolute_url", read_only=True)
relative_url = serializers.URLField(source="get_absolute_relative_url")
class Meta:
model = Address
fields = ["province", "province_name", "city", "city_name", "postal_code", "address_detail", "user", "created_at", "updated_at"]
read_only_fields = ["user", "province_name", "city_name", "created_at", "updated_at"]
fields = ["province", "province_name", "city", "city_name", "postal_code", "address_detail", "relative_url", "absolute_url", "user_email", "created_at", "updated_at"]
read_only_fields = ["user_email", "absolute_url", "province_name", "city_name", "created_at", "updated_at"]
def to_representation(self, instance):
rep = super().to_representation(instance)
@@ -30,5 +33,13 @@ class AddressSerializer(serializers.ModelSerializer):
rep.pop("city_name")
rep.pop("created_at")
rep.pop("updated_at")
else:
rep.pop("absolute_url")
rep.pop("relative_url")
return rep
return rep
def get_absolute_url(self, obj):
request = self.context.get("request")
return request.build_absolute_uri(obj.pk)