Как передать словарь в Django Rest Framework?
В django я смог передать данные, используя словарь. Например, я создаю объекты в словаре, передаю их в return render и вызываю объект во frontend (return render(request, 'c.html', context) верно? Как я могу сделать это в django rest?
В Django REST Framework концепция сериализации заключается в преобразовании данных БД в тип данных, который может быть использован javascript. Каждый сериализатор поставляется с некоторым полем, которое будет обрабатываться. Например, если у вас есть класс с именем Employee и его полями Employee_id, Employee_name, is_admin и т.д., то вам понадобится AutoField. Тогда вам понадобятся AutoField, CharField и BooleanField для хранения и манипулирования данными через Django. Аналогично, сериализатор также работает по тому же принципу и имеет поля, которые используются для создания сериализатора.
DictField - это поле словаря, которое проверяет вводимые данные по словарю объектов. Оно имеет следующие аргументы:
child и allow_empty следующим образом>>>
field_name = serializers.DictField(*args, **kwargs)
например document = DictField(child=CharField())
вы можете использовать сериализатор, как показано ниже>>>
from rest_framework import serializer
class Any(object):
def __init__(self, dictonary):
self.dict = dictionary
class AnySerializer(serializers.Serializer):
dictionary = serializers.DictField(
child = serializers.CharField())
Вы можете посетить similar problem для понимания через реальную проблему.
А эта ссылка является полной документацией по вашей проблеме. Вы можете проверить это.
Вы можете вернуть Response в rest framework следующим образом, если вы используете django rest framework.
context = {'key':'value'}
return Response(context)
Или если вы используете сериализатор, то
return Response(serializer.data)