save address cascade for establishment
This commit is contained in:
parent
12b56da53a
commit
b6cf12f35c
|
|
@ -167,13 +167,9 @@ class EstablishmentListCreateSerializer(model_serializers.EstablishmentBaseSeria
|
||||||
validated_data['slug'] = slug
|
validated_data['slug'] = slug
|
||||||
|
|
||||||
if 'address' in validated_data:
|
if 'address' in validated_data:
|
||||||
address_fields = validated_data.pop('address')
|
address = models.Address(**validated_data.pop('address'))
|
||||||
address_instance = get_object_or_404(models.Address, id=address_fields['id'] or None)
|
address.save()
|
||||||
address_id = getattr(address_instance, 'id')
|
validated_data['address_id'] = address.id
|
||||||
|
|
||||||
models.Address.objects.filter(id=address_id).update(**address_fields)
|
|
||||||
|
|
||||||
validated_data['address_id'] = address_id
|
|
||||||
|
|
||||||
instance = super().create(validated_data)
|
instance = super().create(validated_data)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -223,11 +223,17 @@ class AddressBaseSerializer(serializers.ModelSerializer):
|
||||||
class AddressEstablishmentSerializer(AddressBaseSerializer):
|
class AddressEstablishmentSerializer(AddressBaseSerializer):
|
||||||
"""Address serializer."""
|
"""Address serializer."""
|
||||||
|
|
||||||
id = serializers.IntegerField(required=True)
|
id = serializers.IntegerField(required=False)
|
||||||
street_name_1 = serializers.CharField(required=False, default='')
|
street_name_1 = serializers.CharField(required=False, default='')
|
||||||
street_name_2 = serializers.CharField(required=False, default='')
|
street_name_2 = serializers.CharField(required=False, default='')
|
||||||
number = serializers.IntegerField(required=False, default=0)
|
number = serializers.IntegerField(required=False, default=0)
|
||||||
postal_code = serializers.CharField(required=False, default='')
|
postal_code = serializers.CharField(required=False, default='')
|
||||||
|
city_id = serializers.PrimaryKeyRelatedField(
|
||||||
|
source='city',
|
||||||
|
queryset=models.City.objects.all(),
|
||||||
|
write_only=True,
|
||||||
|
required=True,
|
||||||
|
)
|
||||||
|
|
||||||
class Meta(AddressBaseSerializer.Meta):
|
class Meta(AddressBaseSerializer.Meta):
|
||||||
"""Meta class."""
|
"""Meta class."""
|
||||||
|
|
@ -238,6 +244,7 @@ class AddressEstablishmentSerializer(AddressBaseSerializer):
|
||||||
'street_name_2',
|
'street_name_2',
|
||||||
'number',
|
'number',
|
||||||
'postal_code',
|
'postal_code',
|
||||||
|
'city_id',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user