Ich befolge das Tutorial auf Django Rest Framework - Tutorial 3 Class based views.Wie fügt man ein URL-Feld zu einem Serialisierer mit Django Rest Framework
Wie fügt man einem Serializer ein URL-Feld hinzu (das auf das aktuelle Snippet zeigt)?
serializers.py
from rest_framework import serializers
from snippets.models import Snippet, LANGUAGE_CHOICES, STYLE_CHOICES
from django.core.urlresolvers import reverse
class SnippetSerializer(serializers.ModelSerializer):
class Meta:
model = Snippet
fields = ('id', 'title', 'code', 'linenos', 'language', 'style')
urls.py
urlpatterns = [
url(r'^snippets/$', views.SnippetList.as_view()),
url(r'^snippets/(?P<pk>[0-9]+)/$', views.SnippetDetail.as_view()),
]
Actual Ausgang
[
{
"id":1,
"title":"",
"code":"foo = \"bar\"\n",
"linenos":false,
"language":"python",
"style":"friendly"
}
]
Wunsch Ausgang
[
{
"id":1,
"url":"http://192.168.28.131:8000/snippets/1/",
"title":"",
"code":"foo = \"bar\"\n",
"linenos":false,
"language":"python",
"style":"friendly"
},
]
Solange Sie die Namenskonvention oder mit dem Namen Urls folgen: http://www.django-rest-framework.org/api-guide/reverse/ – cdvv7788