Django - Как сериализовать (а затем перебирать) список словарей? - PullRequest
0 голосов
/ 12 июля 2020

У меня проблемы с сериализацией данных из 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'

Но я знаю, что это только верхушка айсберга. И одна из проблем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...