Мне нужно удалить объект serializer.data в сериализаторе, потому что у меня есть некоторые записи в моей таблице. Но все детали записи присутствуют в другом микросервисе. Когда кто-то позвонил в мой API, мне нужно позвонить в эту службу, чтобы получить данные. Но если запись пуста, мне нужно игнорировать этот объект. Я могу сделать это представление, но это можно сделать в Serializer.py. Проверьте код ссылки:
class CourseSerializer(serializers.ModelSerializer):
user = serializers.SerializerMethodField()
def get_user(self, obj):
token = self.context['request'].META['HTTP_TOKEN']
username = get_user_details_from_id(str(obj['user']), token, name=1)
if username:
return username
else:
obj = {}
class Meta:
model = Course
fields = ('user', 'total_score')
[
{
"user": "test-User",
"total_score": 170
},
{
"user": null,
"total_score": 170
}
]
to
[
{
"user": "User",
"total_score": 170
}
]
Я хочу игнорировать запись в SerializerMethodfield , если имя пользователя пусто