diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-31 06:36:11 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-31 06:36:11 +0000 |
commit | 9bb55e7c9ae18a231cc4f97fc50189b6e0ea9e13 (patch) | |
tree | 844834191278b0eecafd065bcea9f83b7fbaee01 | |
parent | 17bc0a3c11ee8f9b432ec592e9cd4853b5837ebc (diff) |
automatic import of python-django-orderable
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-django-orderable.spec | 381 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 383 insertions, 0 deletions
@@ -0,0 +1 @@ +/django-orderable-6.1.1.tar.gz diff --git a/python-django-orderable.spec b/python-django-orderable.spec new file mode 100644 index 0000000..9f9b9c4 --- /dev/null +++ b/python-django-orderable.spec @@ -0,0 +1,381 @@ +%global _empty_manifest_terminate_build 0 +Name: python-django-orderable +Version: 6.1.1 +Release: 1 +Summary: Add manual sort order to Django objects via an abstract base class and admin classes. +License: BSD +URL: https://github.com/incuna/django-orderable +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/8f/66/96e5a95b7465d56c44b9ddf05355a18885e4b2e70652a4765e1672b72621/django-orderable-6.1.1.tar.gz +BuildArch: noarch + + +%description +# Django Orderable + + +Add manual sort order to Django objects via an abstract base class and admin classes. Project includes: + +* Abstract base Model +* Admin class +* Inline admin class +* Admin templates + + +## Demo + + + + +## Installation + + +Grab from the PyPI: + + pip install django-orderable + + +Add to your INSTALLED_APPS: + + ... + 'orderable', + ... + +Subclass the Orderable class: + + from orderable.models import Orderable + + + class Book(Orderable): + ... + +Subclass the appropriate Orderable admin classes: + + from orderable.admin import OrderableAdmin, OrderableTabularInline + + + class SomeInlineClass(OrderableTabularInline): + ... + + class SomeAdminClass(OrderableAdmin): + list_display = ('__unicode__', 'sort_order_display') + ... + + +jQuery and jQuery UI are used in the Admin for the draggable UI. You may override the versions with your own (rather than using Google's CDN): + + class SomeAdminClass(OrderableAdmin): + class Media: + extend = False + js = ( + 'path/to/jquery.js', + 'path/to/jquery.ui.js', + ) + + +## Notes + +### `class Meta` + +If your subclass of `Orderable` defines [`class Meta`](https://docs.djangoproject.com/en/2.0/ref/models/options/) then make sure it subclasses `Orderable.Meta` one so the model is sorted by `sort_order`. ie: + + class MyOrderable(Orderable): + class Meta(Orderable.Meta): + ... + +### Custom Managers + +Similarly, if your model has a custom manager, subclass `orderable.managers.OrderableManager` instead of `django.db.models.Manager`. + +### Transactions + +Saving orderable models invokes a fair number of database queries, and in order +to avoid race conditions should be run in a transaction. + +### Adding Orderable to Existing Models + +You will need to populate the required `sort_order` field. Typically this is +done by adding the field in one migration with a default of `0`, then creating +a data migration to set the value to that of its primary key: + + + for obj in orm['appname.Model'].objects.all(): + obj.sort_order = obj.pk + obj.save() + + +### Multiple Models using Orderable + +When multiple models inherit from Orderable the `next()` and `previous()` +methods will look for the next/previous model with a sort order. However you'll +likely want to have the various sort orders determined by a foreign key or some +other predicate. The easiest way (currently) is to override the method in +question. + + + + + +%package -n python3-django-orderable +Summary: Add manual sort order to Django objects via an abstract base class and admin classes. +Provides: python-django-orderable +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-django-orderable +# Django Orderable + + +Add manual sort order to Django objects via an abstract base class and admin classes. Project includes: + +* Abstract base Model +* Admin class +* Inline admin class +* Admin templates + + +## Demo + + + + +## Installation + + +Grab from the PyPI: + + pip install django-orderable + + +Add to your INSTALLED_APPS: + + ... + 'orderable', + ... + +Subclass the Orderable class: + + from orderable.models import Orderable + + + class Book(Orderable): + ... + +Subclass the appropriate Orderable admin classes: + + from orderable.admin import OrderableAdmin, OrderableTabularInline + + + class SomeInlineClass(OrderableTabularInline): + ... + + class SomeAdminClass(OrderableAdmin): + list_display = ('__unicode__', 'sort_order_display') + ... + + +jQuery and jQuery UI are used in the Admin for the draggable UI. You may override the versions with your own (rather than using Google's CDN): + + class SomeAdminClass(OrderableAdmin): + class Media: + extend = False + js = ( + 'path/to/jquery.js', + 'path/to/jquery.ui.js', + ) + + +## Notes + +### `class Meta` + +If your subclass of `Orderable` defines [`class Meta`](https://docs.djangoproject.com/en/2.0/ref/models/options/) then make sure it subclasses `Orderable.Meta` one so the model is sorted by `sort_order`. ie: + + class MyOrderable(Orderable): + class Meta(Orderable.Meta): + ... + +### Custom Managers + +Similarly, if your model has a custom manager, subclass `orderable.managers.OrderableManager` instead of `django.db.models.Manager`. + +### Transactions + +Saving orderable models invokes a fair number of database queries, and in order +to avoid race conditions should be run in a transaction. + +### Adding Orderable to Existing Models + +You will need to populate the required `sort_order` field. Typically this is +done by adding the field in one migration with a default of `0`, then creating +a data migration to set the value to that of its primary key: + + + for obj in orm['appname.Model'].objects.all(): + obj.sort_order = obj.pk + obj.save() + + +### Multiple Models using Orderable + +When multiple models inherit from Orderable the `next()` and `previous()` +methods will look for the next/previous model with a sort order. However you'll +likely want to have the various sort orders determined by a foreign key or some +other predicate. The easiest way (currently) is to override the method in +question. + + + + + +%package help +Summary: Development documents and examples for django-orderable +Provides: python3-django-orderable-doc +%description help +# Django Orderable + + +Add manual sort order to Django objects via an abstract base class and admin classes. Project includes: + +* Abstract base Model +* Admin class +* Inline admin class +* Admin templates + + +## Demo + + + + +## Installation + + +Grab from the PyPI: + + pip install django-orderable + + +Add to your INSTALLED_APPS: + + ... + 'orderable', + ... + +Subclass the Orderable class: + + from orderable.models import Orderable + + + class Book(Orderable): + ... + +Subclass the appropriate Orderable admin classes: + + from orderable.admin import OrderableAdmin, OrderableTabularInline + + + class SomeInlineClass(OrderableTabularInline): + ... + + class SomeAdminClass(OrderableAdmin): + list_display = ('__unicode__', 'sort_order_display') + ... + + +jQuery and jQuery UI are used in the Admin for the draggable UI. You may override the versions with your own (rather than using Google's CDN): + + class SomeAdminClass(OrderableAdmin): + class Media: + extend = False + js = ( + 'path/to/jquery.js', + 'path/to/jquery.ui.js', + ) + + +## Notes + +### `class Meta` + +If your subclass of `Orderable` defines [`class Meta`](https://docs.djangoproject.com/en/2.0/ref/models/options/) then make sure it subclasses `Orderable.Meta` one so the model is sorted by `sort_order`. ie: + + class MyOrderable(Orderable): + class Meta(Orderable.Meta): + ... + +### Custom Managers + +Similarly, if your model has a custom manager, subclass `orderable.managers.OrderableManager` instead of `django.db.models.Manager`. + +### Transactions + +Saving orderable models invokes a fair number of database queries, and in order +to avoid race conditions should be run in a transaction. + +### Adding Orderable to Existing Models + +You will need to populate the required `sort_order` field. Typically this is +done by adding the field in one migration with a default of `0`, then creating +a data migration to set the value to that of its primary key: + + + for obj in orm['appname.Model'].objects.all(): + obj.sort_order = obj.pk + obj.save() + + +### Multiple Models using Orderable + +When multiple models inherit from Orderable the `next()` and `previous()` +methods will look for the next/previous model with a sort order. However you'll +likely want to have the various sort orders determined by a foreign key or some +other predicate. The easiest way (currently) is to override the method in +question. + + + + + +%prep +%autosetup -n django-orderable-6.1.1 + +%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-django-orderable -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 31 2023 Python_Bot <Python_Bot@openeuler.org> - 6.1.1-1 +- Package Spec generated @@ -0,0 +1 @@ +0bbaa4f0be044af96cb9a3ccd5ebcc20 django-orderable-6.1.1.tar.gz |