【发布时间】:2022-11-01 10:58:18
【问题描述】:
我有以下带有以下views.py的django项目:
@api_view(['GET'])
@permission_classes([AllowAny])
def getItem(request, **kwargs):
user = get_object_or_404(User, username=request.user)
items=Item.objects.filter(user=user)
serializer = ItemSerializer(items, many=True)
return Response(serializer.data)
这是serializer.py
class ItemSerializer(serializers.ModelSerializer):
user = serializers.CharField(source="user.username", read_only=True)
class Meta:
model= Workout
fields = '__all__'
这是 Django Rest Framework URL 中的结果:
Get Workout
GET /api/Shiko/items/
HTTP 200 OK
Allow: GET, OPTIONS
Content-Type: application/json
Vary: Accept
[
{
"id": 1,
"user": "Shiko",
"active": false,
"name": "Item 1",
"slug": null
}
]
使用 Jupyter 进行测试以检查数据可用性:
import requests
data = requests.get(URL)
json_data = data.json()
print (json_data)
我的问题:
我的设置可能有什么问题,需要更改以在我的测试代码中返回有效数据,知道 Json 中有数据但在测试时未找到返回。
我还使用了IsAuthenticated,它返回了{'detail': 'Authentication credentials were not provided.'},这意味着测试代码是有效的。
我做错了什么,我应该如何解决?
【问题讨论】:
标签: python-3.x django django-rest-framework django-views django-serializer