【发布时间】:2019-02-18 01:05:10
【问题描述】:
我正在尝试创建一个新端点,它将返回 3 个表的连接结果(没有模型类)
我尝试加入的 3 个模型是:User、Institution 和 Site,以便显示名称为他们所属的网站。
我已经定义了自己的序列化器如下:
class DashboardSerializer(serializers.Serializer):
id = serializers.CharField(read_only=True)
email = serializers.CharField()
first_name = serializers.CharField()
last_name = serializers.CharField()
full_address = serializers.CharField()
country = serializers.CharField()
status = serializers.CharField()
role = serializers.CharField()
date_joined = serializers.DateTimeField()
institution_id = serializers.CharField()
site_id = serializers.CharField()
site_name = serializers.CharField()
def create(self, validated_data):
pass
def update(self, instance, validated_data):
pass
和视图集:
class DashboardViewSet(viewsets.ModelViewSet):
queryset = User.objects.all().select_related('institution_id').select_related('site_id')
serializer_class = DashboardSerializer
@api_view(['GET'])
def get(self, request):
if request.method == 'GET':
users = User.objects.all().select_related('institution_id').select_related('site_id')
serializer = DashboardSerializer(users, many=True)
return JsonResponse(serializer.data, safe=False)
问题是当我到达端点时:
select_related 中给出的字段名称无效:'institution_id', 'site_id'。选择是:机构
我不确定这是否是查询、序列化程序或两者都有问题。任何帮助将不胜感激。
【问题讨论】:
-
这里可以使用注解。
标签: django django-rest-framework