Как решить ошибку TypeError: 'RelatedManager' object is not iterable

У меня есть модели (Meeting и Meetingmemeber) для сохранения информации о встрече и приглашенных людях, и я использую seriliazer вот так :

 class MeetingSerializer(serializers.ModelSerializer):

    location = MeetingLocationSerializer( required = False)
    host = serializers.PrimaryKeyRelatedField(read_only=True)
    members = serializers.ListField(child=serializers.EmailField())

    class Meta:
        model = Meeting
        fields = ['id','title','description','date_time','time_zone','host','is_private','is_virtual','url','location','host','members']
        extra_kwargs = {'location': {'required': False}}

а это create() :

 def create(self, validated_data):
    location_data = validated_data.pop('location')
    members = validated_data.pop('members')
    meeting = Meeting.objects.create( host=self.context['request'].user, **validated_data)
    
    if location_data:

        MeetingLocation.objects.create(meeting=meeting,**location_data)   
        
    if members :
            for member in members:
                if member == self.context['request'].user.email:
                     MeetingMember.objects.create(meeting=meeting, email = member, status="H")
                else :
                    MeetingMember.objects.create(meeting=meeting, email = member, status="I")
    
        return meeting
    

я отправил этот json и информация о встрече была сохранена в модели встречи\, а письма приглашенных были сохранены в модели Meetingmember :

{
        "location": {
            "lat": "0.0000000000000003",
            "lng": "0.0000000000000002"
           
        },
       
        "title": "bynas1006",
        "description": "lets go removed2",
        "date_time": "2021-06-30T06:14:00Z",
        "time_zone": "Africa/Abidjan",
        "is_private": true,
        "is_virtual": true,
        "url": "www.google.com",
        "members":[
            "me@me.com",
            "admin@admin.com"
        ]
    }

но я получил эту ошибку в терминале :

TypeError: 'RelatedManager' object is not iterable

Я понятия не имею, почему я получил эту ошибку

Ошибка вызвана полем ListField. Вы можете исправить это, заменив

members = serializers.ListField(child=serializers.EmailField())

by

members = serializers.ListSerializer(child=serializers.EmailField())

Отказ от ответственности: Этот ответ - просто обходной путь.
Мне жаль, что я не могу объяснить проблему, но я уже встречал исключения, которые я не мог понять с ListField, поэтому я стараюсь избегать их, насколько это возможно.

Вернуться на верх