Closed
Description
Example:
#models.py
class Ticket(models.Model)
#auto pk
handle = models.CharField(max_length=255)
class Task(models.Model)
#auto pk
label = models.CharField(max_length=255)
ticket = models.ForeignKey(Ticket, blank=True, null=True)
#views.py
class TicketViewSet(viewsets.ReadOnlyModelViewSet):
queryset = Ticket.objects.all()
serializer_class = serializers.TicketSerializer
resource_name = 'service-now-ticket'
class TaskViewSet(viewsets.ModelViewSet):
queryset = Task.objects.all()
serializer_class = serializers.TaskSerializer
resource_name = 'task'
#serializers.py
from rest_framework_json_api import serializers
class TicketSerializer(serializers.ModelSerializer):
class Meta:
model = models.Ticket
fields = (
'id',
'handle',
)
class TaskSerializer(serializers.ModelSerializer):
ticket = serializers.ResourceRelatedField(read_only=True)
class Meta:
model = models.Task
field = (
'id',
'label',
'ticket',
)
When invoked, the desired output for Task is:
{
"data": {
"type": "task",
"id": "126",
"attributes": {
"label": "This is a task"
},
"relationships": {
"ticket": {
"data": {
"type": "service-now-tickets",
"id": "91734"
}
}
}
}
}
However, the actual output is:
{
"data": {
"type": "task",
"id": "126",
"attributes": {
"label": "This is a task"
},
"relationships": {
"ticket": {
"data": {
"type": "tickets",
"id": "91734"
}
}
}
}
}
Metadata
Metadata
Assignees
Labels
No labels