Я пытаюсь вернуть словарь с помощью DRF Response (), но не могу получить доступ к полям модели из словаря.
Я пытался вернуть значение одного поля без предварительной упаковки данных всловарь, и это сработало. Я знаю, что наборы запросов Django являются ленивыми и поражают только БД при оценке, но я озадачен тем, почему моя модель внезапно не имеет полей, когда к ней обращаются внутри словаря.
@api_view(['GET'])
def arDetail(request):
'''
gets data from model and puts it into a dict to be returned
'''
model = model.objects.get(pk=int(request.GET["pk"]))
#return Response(model.pk) WORKS here, but throws a nameerror
#when accessed in rspData
rspData = {
pk: model.pk,
problem: model.problem,
solution: model.solution,
primaryCategory: model.primaryCategory,
secondaryCategory: model.secondaryCategory,
profilePic: model.author.profilePic
}
return Response(rspData)
Мне нужно получить URL-адресаи еще много других моделей, поэтому я не могу просто использовать сериализаторы DRF, как на других своих моделях. Что должно произойти, это то, что я установил каждое из необходимых полей в словаре, а затем возвратил это с помощью Response (), но я не могу получить доступ к полям модели из словаря rspData. Вместо этого Django выдает ошибку NameError в первой строке dict (и любые другие, если я закомментирую поля для поиска нарушителей).