@@ -67,19 +67,58 @@ def __init__(self, *args, **kwargs):
6767 }
6868
6969 body_format = serializers .SerializerMethodField ()
70+ # single related from model
71+ blog_hyperlinked = relations .HyperLinkedRelatedField (
72+ related_link_view_name = 'entry-blog' ,
73+ related_link_url_kwarg = 'entry_pk' ,
74+ self_link_view_name = 'entry-relationships' ,
75+ read_only = True ,
76+ source = 'blog'
77+ )
7078 # many related from model
7179 comments = relations .ResourceRelatedField (
7280 many = True , read_only = True )
81+ # many related hyperlinked from model
82+ comments_hyperlinked = relations .HyperLinkedRelatedField (
83+ related_link_view_name = 'entry-comments' ,
84+ related_link_url_kwarg = 'entry_pk' ,
85+ self_link_view_name = 'entry-relationships' ,
86+ many = True ,
87+ read_only = True ,
88+ source = 'comments'
89+ )
7390 # many related from serializer
7491 suggested = relations .SerializerMethodResourceRelatedField (
75- source = 'get_suggested' , model = Entry , many = True , read_only = True ,
7692 related_link_view_name = 'entry-suggested' ,
7793 related_link_url_kwarg = 'entry_pk' ,
7894 self_link_view_name = 'entry-relationships' ,
95+ source = 'get_suggested' ,
96+ model = Entry ,
97+ many = True ,
98+ read_only = True
99+ )
100+ # many related hyperlinked from serializer
101+ suggested_hyperlinked = relations .SerializerMethodHyperLinkedRelatedField (
102+ related_link_view_name = 'entry-suggested' ,
103+ related_link_url_kwarg = 'entry_pk' ,
104+ self_link_view_name = 'entry-relationships' ,
105+ source = 'get_suggested' ,
106+ model = Entry ,
107+ many = True ,
108+ read_only = True
79109 )
80110 # single related from serializer
81111 featured = relations .SerializerMethodResourceRelatedField (
82112 source = 'get_featured' , model = Entry , read_only = True )
113+ # single related hyperlinked from serializer
114+ featured_hyperlinked = relations .SerializerMethodHyperLinkedRelatedField (
115+ related_link_view_name = 'entry-featured' ,
116+ related_link_url_kwarg = 'entry_pk' ,
117+ self_link_view_name = 'entry-relationships' ,
118+ source = 'get_featured' ,
119+ model = Entry ,
120+ read_only = True
121+ )
83122 tags = TaggedItemSerializer (many = True , read_only = True )
84123
85124 def get_suggested (self , obj ):
@@ -93,8 +132,9 @@ def get_body_format(self, obj):
93132
94133 class Meta :
95134 model = Entry
96- fields = ('blog' , 'headline' , 'body_text' , 'pub_date' , 'mod_date' ,
97- 'authors' , 'comments' , 'featured' , 'suggested' , 'tags' )
135+ fields = ('blog' , 'blog_hyperlinked' , 'headline' , 'body_text' , 'pub_date' , 'mod_date' ,
136+ 'authors' , 'comments' , 'comments_hyperlinked' , 'featured' , 'suggested' ,
137+ 'suggested_hyperlinked' , 'tags' , 'featured_hyperlinked' )
98138 read_only_fields = ('tags' ,)
99139 meta_fields = ('body_format' ,)
100140
0 commit comments