Я создаю REST API для обслуживания приложения для Android. Я не пытаюсь изобретать колесо, поэтому я пытаюсь использовать приложение django-friendship, найденное в https://github.com/revsys/django-friendship/ совместно с DRF. К сожалению, документация для django-friendship довольно скудна, и я новичок в разработке Django/DRF. Я сталкиваюсь с проблемой, когда я не могу просмотреть отношения друзей, основанные на личности.Django Rest Framework view возвращает пустой объект
В представлении списка друзей должны отображаться все друзья запрашивающего пользователя. Я могу создавать друзей на отдельном представлении, но это представление показывает КАЖДОЕ дружеское отношение. Я хочу иметь возможность просматривать друзей конкретного пользователя. То есть, когда пользователь GET в каталоге/friends/будет отображать список своих друзей.
Однако в настоящее время в этом представлении отображается только пустой объект JSON, а не список друзей для пользователя. Как мне изменить вид FriendList, чтобы он правильно вернул список друзей для пользователя?
views.py
class FriendList(APIView):
"""
Lists all of the requesting users friends
"""
def get(self, request):
friends = Friend.objects.friends(request.user)
serializer = FriendSerializer(friends, many=True)
return Response(serializer.data)
serializer.py
class FriendSerializer(serializers.ModelSerializer):
class Meta:
model = Friend
urls.py
urlpatterns = patterns('',
url(r'^', include(router.urls)),
url(r'^api-auth/', include('rest_framework.urls',
namespace='rest_framework')),
url(r'^api-token-auth/', obtain_auth_token),
url(r'^friends', views.FriendList.as_view())
Две возможные проблемы: вы не указываете DRF, какие поля использовать (что объясняет пустые '{}') и 'friends' могут быть пустыми (что объясняет пустую' [] '). Каков ваш ответ на самом деле? –
Ответ включает to_user (запрашивающий пользователя), from_user (их друг) и создан (время, когда они стали друзьями). Я тестировал его двумя разными именами пользователей. Я поставил их друзьями друг с другом. Если я попытаюсь перейти к/friends/url с пользователем, у которого нет друзей, я получаю сообщение об ошибке. Однако, если я перехожу к/friends/вошел в систему как пользователь, у которого есть друзья, у меня нет ошибки, а пустой массив. – user2793442
«Я получаю сообщение об ошибке», возможно, было бы полезно включить ошибку в ваш вопрос, возможно, у нее есть намек на то, почему в другом ответе нет объектов. –