Created
July 20, 2018 15:45
-
-
Save fhdez/92ef61257bd7892d1271c3eeed126431 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class MessageReadSerializer(ModelSerializer): | |
users_receivers = serializers.SerializerMethodField() | |
class Meta: | |
model = ReceiverMessage | |
fields = ['id', 'users_receivers', 'was_read'] | |
def get_users_receivers(self, instance): | |
children = instance.user | |
group_id = instance.group_id | |
groups = [] | |
if children: | |
return UsersReadSerializer(instance.user).data | |
elif group_id: | |
for children_group in UserGroup.objects.filter(group=group_id, user__role__name='Student'): | |
groups.append(UsersReadSerializer(children_group.user).data) | |
return groups |
Así fatima.
class MessageReadSerializer(ModelSerializer):
send_to = serializers.SerializerMethodField()
users_receivers = serializers.SerializerMethodField()
class Meta:
model = ReceiverMessage
fields = ['id', 'users_receivers', 'send_to', 'was_read']
def get_send_to(self, instance):
if instance.user:
return 'user'
return 'group'
def get_users_receivers(self, instance):
if instance.user:
users = User.objects.filter(pk=instance.user.id)
return UsersReadSerializer(users, many=True).data
elif instance.group:
users_id = []
for user_group in UserGroup.objects.filter(
group=instance.group.id, user__role__name='Student'
):
users_id.append(user_group.user.id)
users = User.objects.filter(id__in=users_id)
return UsersReadSerializer(users, many=True).data
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Si se manda return, es como un break y solo bota un resultado :V