diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-05-31 04:16:02 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-05-31 04:16:02 +0000 |
| commit | 08eec42d35d7f94dff95e1fefd3298baa65ae3cb (patch) | |
| tree | 0cedc5fb4f06d281fc900b6ea9f84ed3c7e48bb8 /python-drf-nested.spec | |
| parent | 3c19540a2cd1c52dbf809fbef69a55858533db47 (diff) | |
automatic import of python-drf-nested
Diffstat (limited to 'python-drf-nested.spec')
| -rw-r--r-- | python-drf-nested.spec | 317 |
1 files changed, 317 insertions, 0 deletions
diff --git a/python-drf-nested.spec b/python-drf-nested.spec new file mode 100644 index 0000000..573f1df --- /dev/null +++ b/python-drf-nested.spec @@ -0,0 +1,317 @@ +%global _empty_manifest_terminate_build 0 +Name: python-drf-nested +Version: 1.2.24 +Release: 1 +Summary: please add a summary manually as the author left a blank one +License: License :: OSI Approved :: MIT License +URL: https://pypi.org/project/drf-nested/ +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/1d/bd/5d4482702d510f77ed7377b882ba0ed2daa1524ca549bb62490a66286e34/drf_nested-1.2.24.tar.gz +BuildArch: noarch + +Requires: python3-django +Requires: python3-djangorestframework + +%description +## DRF Nested Utils + +[](https://pypi.org/project/drf-nested/) + +This package provides a set of utils to help developers implement nested data handling for Django Rest Framework. + +This package adds support for: +* Direct relation handling (`ForeignKey`) +* Reverse relation handling (i.e. allows working with models that have current as `ForeignKey`) +* Direct and reverse `ManyToMany`, with special flow for the m2m relationships with custom `through` models +* `GenericRelation` with special mixins + +It also provides mixins for handling `Unique` and `UniqueTogether` validators. + +## Mixins + +### Nested Serializer Mixins + +#### `BaseNestedMixin` + +Base mixin that contains the methods for retrieval of all related fields of the serializer model. +It also provides all the `update_or_create` methods for each type of fields +(`direct relation`, `reverse relation`, `many-to-many relation` and `generic relation`). + +#### `CreateNestedMixin` + +Mixin that allows creation of the nested models on serializer `create` call. +You can provide a list of fields that should be forbidden on create, +the list of fields should be placed into the `forbidden_on_create` +field on serializer `Meta` class. +Mixin uses `BaseNestedMixin` properties and `update_and_create` methods to create nested fields. + +#### `UpdateNestedMixin` + +Mixin that allows modification of the nested models on serializer `update` call. +Mixin uses `BaseNestedMixin` properties and `update_and_create` methods to update nested fields. + +### Validator Mixins + +#### `UniqueFieldMixin` + +Mixin that allows usage of the `unique` fields with nested mixins. +This mixin moves the validation process from `is_valid` to `create/update` call. +This is done because the fields that should be used in the `unique` validation may not be +set on the initial `is_valid` call and are set just before the nested `create/update` call. + +#### `UniqueTogetherMixin` + +Mixin that allows usage of the `unique_together` fields with nested mixins. +This mixin moves the validation process from `is_valid` to `create/update` call. +This is done because the fields that should be used in the `unique_together` validation may not be +set on the initial `is_valid` call and are set just before the nested `create/update` call. + +### Helper Mixins + +#### `NestableMixin` + +Mixin that allows to specify the name of the nested field by setting `write_source` if the initial `source` of the field is different +from the field name or the initial `source` is not writable (a property, for example). + +#### `ThroughMixin` + +Mixin that allows to specify if `through` model should be connected to current model after the `through` model `create/update` call. + +#### `GenericRelationMixin` + +Mixin that should be used on serializers that represent connected by `GenericRelation` models. + +## Examples + +You can see an example project in `examples/` directory. + +## Notes + +> If you are using a Many-to-Many field with `source` property or you have a `through` model on your serializer, +you should add a `NestableMixin` to the target serializer and add a `write_source` field when you initialize that serializer. + +> In case of the `source` property you should add an actual model field that would allow you to properly connect your model with related ones. + +> In case of the `through` model you should have it set to the `related_name` of the connected `through` model + +> You can also use `ThroughMixin` and set `connect_to_model` to False if you want to have the ability to keep the `through` model connection in case the `through` model ForeignKey should be different from the current model. + +%package -n python3-drf-nested +Summary: please add a summary manually as the author left a blank one +Provides: python-drf-nested +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-drf-nested +## DRF Nested Utils + +[](https://pypi.org/project/drf-nested/) + +This package provides a set of utils to help developers implement nested data handling for Django Rest Framework. + +This package adds support for: +* Direct relation handling (`ForeignKey`) +* Reverse relation handling (i.e. allows working with models that have current as `ForeignKey`) +* Direct and reverse `ManyToMany`, with special flow for the m2m relationships with custom `through` models +* `GenericRelation` with special mixins + +It also provides mixins for handling `Unique` and `UniqueTogether` validators. + +## Mixins + +### Nested Serializer Mixins + +#### `BaseNestedMixin` + +Base mixin that contains the methods for retrieval of all related fields of the serializer model. +It also provides all the `update_or_create` methods for each type of fields +(`direct relation`, `reverse relation`, `many-to-many relation` and `generic relation`). + +#### `CreateNestedMixin` + +Mixin that allows creation of the nested models on serializer `create` call. +You can provide a list of fields that should be forbidden on create, +the list of fields should be placed into the `forbidden_on_create` +field on serializer `Meta` class. +Mixin uses `BaseNestedMixin` properties and `update_and_create` methods to create nested fields. + +#### `UpdateNestedMixin` + +Mixin that allows modification of the nested models on serializer `update` call. +Mixin uses `BaseNestedMixin` properties and `update_and_create` methods to update nested fields. + +### Validator Mixins + +#### `UniqueFieldMixin` + +Mixin that allows usage of the `unique` fields with nested mixins. +This mixin moves the validation process from `is_valid` to `create/update` call. +This is done because the fields that should be used in the `unique` validation may not be +set on the initial `is_valid` call and are set just before the nested `create/update` call. + +#### `UniqueTogetherMixin` + +Mixin that allows usage of the `unique_together` fields with nested mixins. +This mixin moves the validation process from `is_valid` to `create/update` call. +This is done because the fields that should be used in the `unique_together` validation may not be +set on the initial `is_valid` call and are set just before the nested `create/update` call. + +### Helper Mixins + +#### `NestableMixin` + +Mixin that allows to specify the name of the nested field by setting `write_source` if the initial `source` of the field is different +from the field name or the initial `source` is not writable (a property, for example). + +#### `ThroughMixin` + +Mixin that allows to specify if `through` model should be connected to current model after the `through` model `create/update` call. + +#### `GenericRelationMixin` + +Mixin that should be used on serializers that represent connected by `GenericRelation` models. + +## Examples + +You can see an example project in `examples/` directory. + +## Notes + +> If you are using a Many-to-Many field with `source` property or you have a `through` model on your serializer, +you should add a `NestableMixin` to the target serializer and add a `write_source` field when you initialize that serializer. + +> In case of the `source` property you should add an actual model field that would allow you to properly connect your model with related ones. + +> In case of the `through` model you should have it set to the `related_name` of the connected `through` model + +> You can also use `ThroughMixin` and set `connect_to_model` to False if you want to have the ability to keep the `through` model connection in case the `through` model ForeignKey should be different from the current model. + +%package help +Summary: Development documents and examples for drf-nested +Provides: python3-drf-nested-doc +%description help +## DRF Nested Utils + +[](https://pypi.org/project/drf-nested/) + +This package provides a set of utils to help developers implement nested data handling for Django Rest Framework. + +This package adds support for: +* Direct relation handling (`ForeignKey`) +* Reverse relation handling (i.e. allows working with models that have current as `ForeignKey`) +* Direct and reverse `ManyToMany`, with special flow for the m2m relationships with custom `through` models +* `GenericRelation` with special mixins + +It also provides mixins for handling `Unique` and `UniqueTogether` validators. + +## Mixins + +### Nested Serializer Mixins + +#### `BaseNestedMixin` + +Base mixin that contains the methods for retrieval of all related fields of the serializer model. +It also provides all the `update_or_create` methods for each type of fields +(`direct relation`, `reverse relation`, `many-to-many relation` and `generic relation`). + +#### `CreateNestedMixin` + +Mixin that allows creation of the nested models on serializer `create` call. +You can provide a list of fields that should be forbidden on create, +the list of fields should be placed into the `forbidden_on_create` +field on serializer `Meta` class. +Mixin uses `BaseNestedMixin` properties and `update_and_create` methods to create nested fields. + +#### `UpdateNestedMixin` + +Mixin that allows modification of the nested models on serializer `update` call. +Mixin uses `BaseNestedMixin` properties and `update_and_create` methods to update nested fields. + +### Validator Mixins + +#### `UniqueFieldMixin` + +Mixin that allows usage of the `unique` fields with nested mixins. +This mixin moves the validation process from `is_valid` to `create/update` call. +This is done because the fields that should be used in the `unique` validation may not be +set on the initial `is_valid` call and are set just before the nested `create/update` call. + +#### `UniqueTogetherMixin` + +Mixin that allows usage of the `unique_together` fields with nested mixins. +This mixin moves the validation process from `is_valid` to `create/update` call. +This is done because the fields that should be used in the `unique_together` validation may not be +set on the initial `is_valid` call and are set just before the nested `create/update` call. + +### Helper Mixins + +#### `NestableMixin` + +Mixin that allows to specify the name of the nested field by setting `write_source` if the initial `source` of the field is different +from the field name or the initial `source` is not writable (a property, for example). + +#### `ThroughMixin` + +Mixin that allows to specify if `through` model should be connected to current model after the `through` model `create/update` call. + +#### `GenericRelationMixin` + +Mixin that should be used on serializers that represent connected by `GenericRelation` models. + +## Examples + +You can see an example project in `examples/` directory. + +## Notes + +> If you are using a Many-to-Many field with `source` property or you have a `through` model on your serializer, +you should add a `NestableMixin` to the target serializer and add a `write_source` field when you initialize that serializer. + +> In case of the `source` property you should add an actual model field that would allow you to properly connect your model with related ones. + +> In case of the `through` model you should have it set to the `related_name` of the connected `through` model + +> You can also use `ThroughMixin` and set `connect_to_model` to False if you want to have the ability to keep the `through` model connection in case the `through` model ForeignKey should be different from the current model. + +%prep +%autosetup -n drf-nested-1.2.24 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-drf-nested -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 31 2023 Python_Bot <Python_Bot@openeuler.org> - 1.2.24-1 +- Package Spec generated |
