How can I get response in an array format in Django drf? I am new in python-drf programming. kindly help with solutions.
I just want the team_users in an array format, but now it is returning in an array with each letter seperated by quotes.
{ "id": 3, "team_name": "team 3", "team_icon": "/media/icon/underground_3Dz5sfD.png", "team_users": [ "[", "'", "s", "k", "a", "r", "a", "n", "7", "1", "4", "@", "g", "m", "a", "i", "l", ".", "c", "o", "m", "'", ",", " ", "'", "s", "a", "m", "p", "l", "e", "1", "2", "3", "@", "g", "m", "a", "i", "l", ".", "c", "o", "m", "'", "]" ] },
required format is :
"id": 3, "team_name": "team 3", "team_icon": "/media/icon/underground_3Dz5sfD.png", "team_users": ["first_email", "second_email"]
This is the code in serializers.py
class TeamSerializer(serializers.ModelSerializer):
team_users = serializers.ListField(child=serializers.EmailField(min_length=0, max_length=100))
class Meta():
model=Team
fields = ('id','team_name', 'team_icon', 'team_users')
models.py
class Team(models.Model):
team_name = models.CharField(max_length=255)
team_icon = models.ImageField()
team_users = models.EmailField()
In views.py
class GetTeam(APIView):
def get(self, request, *args, **kwargs):
data_list = []
teams = models.Team.objects.all()
for team in teams:
data_list.append(serializers.TeamSerializer(team).data)
return Response(data_list)
One of the possible solution is to use 'SerializerMethodField'
Also depends on your team user model, but you can tailor this to your needs.