Методы сериализаторов Django

У меня есть модель SecondAddress с полями типа улица, квартира, номер, город.

Для этой модели у меня есть сериализатор second_address - с теми же полями.

Эти модели и сериализатор используются в моделях Client и Recipient modelserializer как основное поле, но не обязательное, оно может быть null.

В клиенте и получателе у меня есть basic_address и это необходимо.

Идея в том, что если поля basic_address некорректны, клиент должен предоставить поля second_address. Все работает, и для проверки статуса поля second_address у меня есть следующий сериализатор:

matching_address = serializers.SerializerMethodField()

И фукнция:

def get_matching_address(self, client):
    return client.second_address is None

Если поля основной_адрес корректны, то нет необходимости в полях второй_адрес и поле совпадающий_адрес будет иметь значение True.

Если второй_адрес предоставлен, поле matching_address показывает False.

Хотелось бы создать функцию, которая если поле matching_address равно True и предоставлены поля second_address, то данные должны быть удалены из second_address. А если False, то нужно предоставить поля второго_адреса. Пожалуйста, помогите мне с этой функцией и методом

Вернуться на верх