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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Partial serializer should not have required fields (OpenAPI) #7563

Merged
merged 2 commits into from Aug 13, 2023

Conversation

denisorehovsky
Copy link
Contributor

No description provided.

@adamchainz
Copy link
Contributor

Plaese provide more explanation of this issue - e.g. a link to the relevant decsription in the Open API spec, what issues you're facing, ...

@denisorehovsky
Copy link
Contributor Author

@adamchainz Hi, Adam. Here's the problem. Let's say we have this serializer:

class ExampleSerializer(serializers.Serializer):
    field_a = serializers.CharField()
    field_b = serializers.CharField()

And a ViewSet:

class ExampleViewSet:
    serializer_class = ExampleSerializer

    def partial_update(self, ...):
        pass

Since the request is partial, all the fields are not required. In a request body, we can send:

  • Only field_a
  • Only field_b
  • Both field_a and field_b

And it should work. However, DRF's OpenAPI generated documentation will show that both field_a and field_b are required, even though they're not.

@stale
Copy link

stale bot commented May 1, 2022

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label May 1, 2022
@stale stale bot removed stale labels Jun 6, 2022
@stale
Copy link

stale bot commented Aug 12, 2022

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Aug 12, 2022
@denisorehovsky
Copy link
Contributor Author

@adamchainz So what do you think?

@stale stale bot removed the stale label Oct 16, 2022
@stale
Copy link

stale bot commented Dec 16, 2022

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Dec 16, 2022
Copy link
Member

@auvipy auvipy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it is a very small change so if you could rebase we can consider accepting this. otherwise will close

@stale stale bot removed the stale label Dec 16, 2022
@auvipy
Copy link
Member

auvipy commented Dec 17, 2022

can you please share the relevant part of the spec to verify?

@stale
Copy link

stale bot commented Feb 18, 2023

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Feb 18, 2023
@auvipy auvipy removed the stale label Feb 18, 2023
@auvipy auvipy requested a review from tfranzel May 18, 2023 03:44
@stale
Copy link

stale bot commented Aug 12, 2023

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Aug 12, 2023
@auvipy auvipy merged commit da92888 into encode:master Aug 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants