Home:ALL Converter>Reverse Many-to-Many relation in Django REST Framework

Reverse Many-to-Many relation in Django REST Framework

Ask Time:2014-08-19T03:51:29         Author:brsbilgic

Json Formatter

How can I create reverse field in Django REST framework for both many-to-many related objects serializers?

**Models**

class Tag(models.Model):
    name = models.CharField(max_length=500, blank=True)

class Event(models.Model):
    max_attendee = models.IntegerField(default=0)
    description = models.TextField(blank=True)
    tags = models.ManyToManyField(Tag, related_name='events_tags')


** Serializers **

class EventSerializer(serializers.HyperlinkedModelSerializer):
    tags = serializers.HyperlinkedRelatedField(many=True, view_name='tag-detail')

    class Meta:
        model = Event
        fields = ('id', 'location', 'location_name', 'date', 'max_attendee', 'description', 'image', 'created_by', 'tags')

class TagSerializer(serializers.HyperlinkedModelSerializer):
    events = serializers.HyperlinkedRelatedField(many=True, view_name='event-detail')

    class Meta:
        model = Tag
        fields = ('name',)

Because there is no events field in Tags model, I cannot display events related to tags. However, reverse performs great because Many-to-Many relation is set in Events model.

Author:brsbilgic,eproduced under the CC 4.0 BY-SA copyright license with a link to the original source and this disclaimer.
Link to original article:https://stackoverflow.com/questions/25370992/reverse-many-to-many-relation-in-django-rest-framework
mariodev :

Have you tried using the field's related name?\n\nclass TagSerializer(serializers.HyperlinkedModelSerializer):\n events_tags = serializers.HyperlinkedRelatedField(many=True, view_name='event-detail')\n\n class Meta:\n model = Tag\n fields = ('name', 'events_tags',)\n",
2014-08-18T20:26:08
yy