@@ -67,19 +67,58 @@ def __init__(self, *args, **kwargs):
67
67
}
68
68
69
69
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
+ )
70
78
# many related from model
71
79
comments = relations .ResourceRelatedField (
72
80
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
+ )
73
90
# many related from serializer
74
91
suggested = relations .SerializerMethodResourceRelatedField (
75
- source = 'get_suggested' , model = Entry , many = True , read_only = True ,
76
92
related_link_view_name = 'entry-suggested' ,
77
93
related_link_url_kwarg = 'entry_pk' ,
78
94
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
79
109
)
80
110
# single related from serializer
81
111
featured = relations .SerializerMethodResourceRelatedField (
82
112
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
+ )
83
122
tags = TaggedItemSerializer (many = True , read_only = True )
84
123
85
124
def get_suggested (self , obj ):
@@ -93,8 +132,9 @@ def get_body_format(self, obj):
93
132
94
133
class Meta :
95
134
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' )
98
138
read_only_fields = ('tags' ,)
99
139
meta_fields = ('body_format' ,)
100
140
0 commit comments