- Notifications
You must be signed in to change notification settings - Fork302
Wondering whyurl
field is no longer present in serializers using therest_framework_json_api.JSONRenderer
#1233
-
Up until release 7.0.0 in our project we were specifying
We noticed that the URL field was no longer being included in the responses from our endpoints, and I tracked it down to this diff: I'm just hoping to get more information on what the intent behind that change was, and what a suitable workaround would be for us. Didn't want to file a bug since it seems like an intentional change. |
BetaWas this translation helpful?Give feedback.
All reactions
Thanks for bringing this up. The URL field is tricky. It is actually a reserved field used byHyperlinkedModelSerializer to define the identity location. The name can actually be configured withURL_FIELD_NAME
which is per defaulturl
. This URL field is used in JSON:API as aself-link. That it is why the URL is excluded in attributes.
However it should actually only be excluded if it is a URL field name and of typeHyperlinkedIdentityField. So this is a regression.
I will have a look and see how easy it is to fix also considering that sparse fields should handle URL as a field if it is overwritten as you do it (that was the initial change, which caused this regression).
What you can do as…
Replies: 1 comment
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
-
Thanks for bringing this up. The URL field is tricky. It is actually a reserved field used byHyperlinkedModelSerializer to define the identity location. The name can actually be configured with However it should actually only be excluded if it is a URL field name and of typeHyperlinkedIdentityField. So this is a regression. I will have a look and see how easy it is to fix also considering that sparse fields should handle URL as a field if it is overwritten as you do it (that was the initial change, which caused this regression). What you can do as a simple workaround is settingURL_FIELD_NAME to a different name than |
BetaWas this translation helpful?Give feedback.