У меня проблемы с сериализацией данных из API, так как я делаю это впервые. Я прошу вас о помощи.
Из API я получаю словарь с некоторыми ключами. Значение для ключа «Поиск» - это список словарей, которые я хотел бы распечатать в качестве l oop в моем шаблоне позже. Но я потерпел неудачу.
Вот мои результаты, которые мне удалось собрать за несколько часов поиска в Google и просмотра через переполнение стека.
Вот мои views.py:
def results(request):
title = request.POST.get("Title")
api_key = "111111"
url = f"http://www.omdbapi.com/?s={title}&type=movie&apikey={api_key}"
response = requests.get(url)
serializer = SearchListSerializer(data=response.json()["Search"], many=True)
if serializer.is_valid():
serializer.save()
movies = serializer.objects.all()
else:
print(serializer.errors)
print("Something went wrong.")
return render(request, 'movie_database/results.html', movies)
А вот мой serializers.py :
class MovieSerializer(serializers.ModelSerializer):
class Meta:
model = Movie
fields = '__all__'
class SearchSerializer(serializers.DictField):
Title = serializers.CharField(max_length=300)
Year = serializers.CharField(max_length=100)
class SearchListSerializer(serializers.ListField):
child = SearchSerializer()
Я получаю ошибку:
TypeError at /results/
__init__() got an unexpected keyword argument 'data'
Но я знаю, что это только верхушка айсберга. И одна из проблем.