Я хочу добавить статус и поместить вывод сериализатора в DATA:
Моя модель:
class UserDetails(models.Model):
user = models.OneToOneField(User,on_delete=models.CASCADE)
user_group_id = models.ForeignKey(UserGroup, on_delete=models.CASCADE)
admin_photo = models.ImageField(upload_to='user_image',blank=True)
Мой сериализатор:
class UserDetailSerializer(serializers.ModelSerializer):
user = serializers.StringRelatedField(many=False)
user_group_id = serializers.StringRelatedField(many=False)
class Meta:
model = UserDetails
fields = [
'user',
'user_group_id',
'admin_photo',
]
depth = 1
def to_representation(self, instance):
data = super(UserDetailSerializer, self).to_representation(instance)
return {
'STATUS' : 'SUCCESS',
'DATA' : data
}
ответ iполучил вот это:
[
{
"DATA": {
"user": "user1",
"user_group_id": "Super Admin",
"admin_photo": "http://www.someurl.com/media/22-black-wallpaper.jpg"
},
"STATUS": "SUCCESS"
},
{
"DATA": {
"user": "user2",
"user_group_id": "Admin",
"admin_photo": "http://www.someurl.com/media/fox.jpg"
},
"STATUS": "SUCCESS"
}
]
но я хочу получить ответ, подобный этому, статус - это основной текст, и я хочу поместить результат из мета класса в DATA
{
"STATUS": "SUCCESS",
"DATA": [
{
"user": "user1",
"user_group_id": "Super Admin",
"admin_photo": "http://www.someurl.com/media/22-black-
wallpaper.jpg"
},
{
"user": "user2",
"user_group_id": "Admin",
"admin_photo": "http://www.someurl.com/media/fox.jpg"
}
]
}
отредактированный Просмотр, используя толькоlistapiview и использовать сериализатор класса:
class UserListView(generics.ListAPIView):
lookup_vield = 'id'
serializer_class = UserDetailSerializer
def get_queryset(self):
return UserDetails.objects.all()