Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix attribute name inflection #429

Open
wants to merge 2 commits into
base: dev
Choose a base branch
from

Conversation

JBamberger
Copy link

The attribute name inflection function is applied multiple times to some attributes. For simple inflection functions this works, because they reach a fixpoint after the first application, e.g. the dasherize function does nothing if the attribute is already dasherized.

For other functions, like adding a postfix, this does not work, i.e. for lambda s: s + '_x' would result in an attribute name username_x_x for an attribute called username. Expected would be username_x.

Furthermore, the inflection is applied to the id field, even though, the id field name is dictated by the jsonapi standard. Thus, the predefined fields should not be affected by inflection.

A quick test with the meta showed, that this problem does not occur here, but other such predefined fields might still be affected by the inflection.

The attribute name inflection function was applied multiple
times to some attributes. For some simple inflection functions
this works, because they reach a fixpoint after the first
application, e.g. the dasherize function does nothing if the
attribute is already dasherized. For other functions, like
adding a postfix, this does not work, i.e. for
lambda s: s + '_x' would result in an attribute name
username_x_x for an attribute called username.

Additionally, the inflection was applied to the id field, even
though, the id field name must be exactly id.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant