Не удается получить обновленное значение для Django Serializer
У меня есть 2 модели
Model A
Fields : a_id, a_name, common_name
и Модель B
Fields : b_id, b_name, common_name
и мой сериализатор выглядит следующим образом для модели B
class ModelBSerializer:
model_a_obj_list = model_a.objects.all().values(a_id a_name common_name)
common_name_list = {}
for model_a_obj in model_a_obj_list:
common_name_list[model_a_obj['common_name']] = {
a_name: model_a_obj['a_name']
a_id: model_a_obj['a_id']
}
a_model_details = fields.SerializerMethodField(read_only=True)
def get_a_model_details(self, instance):
return self.common_name_list.get(instance.common_name)
class Meta(BaseObjectSerializer.Meta):
model = Model_b
Похоже, что это работает нормально для API, поскольку я получаю данные modela в данных сериализатора modelb
/api для модели b
{
b_id: bid
b_name:bname
common_name: cname
{
a_name: aname_1
a_id: aid_1
}
}
Проблема заключается в том, что когда я делаю обновление в MODEL-A. и изменяю значение параметра, допустим
a_name: aname_1 changed to aname_2
Но это изменение не отражается в api, когда я запускаю снова
Может ли кто-нибудь помочь мне, что я делаю неправильно?