summaryrefslogtreecommitdiff
path: root/python-django-nonrelated-inlines.spec
diff options
context:
space:
mode:
Diffstat (limited to 'python-django-nonrelated-inlines.spec')
-rw-r--r--python-django-nonrelated-inlines.spec217
1 files changed, 217 insertions, 0 deletions
diff --git a/python-django-nonrelated-inlines.spec b/python-django-nonrelated-inlines.spec
new file mode 100644
index 0000000..ed73c6f
--- /dev/null
+++ b/python-django-nonrelated-inlines.spec
@@ -0,0 +1,217 @@
+%global _empty_manifest_terminate_build 0
+Name: python-django-nonrelated-inlines
+Version: 0.2
+Release: 1
+Summary: Django admin inlines for unrelated models
+License: MIT
+URL: https://github.com/bhomnick/django-nonrelated-inlines
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/a9/63/4287295cdbd9e0c8b9e4b1e7c488c99f1a3553cab22040ffae7cd9329a5e/django-nonrelated-inlines-0.2.tar.gz
+BuildArch: noarch
+
+Requires: python3-Django
+
+%description
+# django-nonrelated-inlines
+
+Django admin inlines for unrelated models
+
+![CircleCI](https://img.shields.io/circleci/build/github/bhomnick/django-nonrelated-inlines)
+![PyPI](https://img.shields.io/pypi/v/django-nonrelated-inlines)
+
+## Getting started
+
+This app allows you to create admin inlines for models that don't have an
+explicit foreign key relationship.
+
+To use, subclass your inline from either `NonrelatedStackedInline` or
+`NonrelatedTabularInline` and add `get_form_queryset` and `save_new_instance`
+methods.
+
+* `get_form_queryset(self, obj)` returns all objects that should be shown in
+ the inline formset.
+* `save_new_instance(self, parent, instance)` given a parent object and a new
+ child object instance should associate the child object with the parent.
+
+For example, let's assume we have `Customer` and `Invoice` models. `Invoice`
+objects are associated with a `Customer` if they share the same email address.
+
+```python
+from nonrelated_inlines.admin import NonrelatedStackedInline
+
+
+class CustomerInvoiceStackedInline(NonrelatedStackedInline):
+ model = Invoice
+ fields = [
+ 'id',
+ 'amount'
+ ]
+
+ def get_form_queryset(self, obj):
+ return self.model.objects.filter(email=obj.email)
+
+ def save_new_instance(self, parent, instance):
+ instance.email = parent.email
+```
+
+When viewing an `Customer` instance, we fetch a queryset of all `Invoice`
+instances sharing the same email address. Similarly, when saving a new `Invoice`
+instance we make sure to set its email attribute to the same value as its parent
+`Customer`.
+
+
+
+
+%package -n python3-django-nonrelated-inlines
+Summary: Django admin inlines for unrelated models
+Provides: python-django-nonrelated-inlines
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-django-nonrelated-inlines
+# django-nonrelated-inlines
+
+Django admin inlines for unrelated models
+
+![CircleCI](https://img.shields.io/circleci/build/github/bhomnick/django-nonrelated-inlines)
+![PyPI](https://img.shields.io/pypi/v/django-nonrelated-inlines)
+
+## Getting started
+
+This app allows you to create admin inlines for models that don't have an
+explicit foreign key relationship.
+
+To use, subclass your inline from either `NonrelatedStackedInline` or
+`NonrelatedTabularInline` and add `get_form_queryset` and `save_new_instance`
+methods.
+
+* `get_form_queryset(self, obj)` returns all objects that should be shown in
+ the inline formset.
+* `save_new_instance(self, parent, instance)` given a parent object and a new
+ child object instance should associate the child object with the parent.
+
+For example, let's assume we have `Customer` and `Invoice` models. `Invoice`
+objects are associated with a `Customer` if they share the same email address.
+
+```python
+from nonrelated_inlines.admin import NonrelatedStackedInline
+
+
+class CustomerInvoiceStackedInline(NonrelatedStackedInline):
+ model = Invoice
+ fields = [
+ 'id',
+ 'amount'
+ ]
+
+ def get_form_queryset(self, obj):
+ return self.model.objects.filter(email=obj.email)
+
+ def save_new_instance(self, parent, instance):
+ instance.email = parent.email
+```
+
+When viewing an `Customer` instance, we fetch a queryset of all `Invoice`
+instances sharing the same email address. Similarly, when saving a new `Invoice`
+instance we make sure to set its email attribute to the same value as its parent
+`Customer`.
+
+
+
+
+%package help
+Summary: Development documents and examples for django-nonrelated-inlines
+Provides: python3-django-nonrelated-inlines-doc
+%description help
+# django-nonrelated-inlines
+
+Django admin inlines for unrelated models
+
+![CircleCI](https://img.shields.io/circleci/build/github/bhomnick/django-nonrelated-inlines)
+![PyPI](https://img.shields.io/pypi/v/django-nonrelated-inlines)
+
+## Getting started
+
+This app allows you to create admin inlines for models that don't have an
+explicit foreign key relationship.
+
+To use, subclass your inline from either `NonrelatedStackedInline` or
+`NonrelatedTabularInline` and add `get_form_queryset` and `save_new_instance`
+methods.
+
+* `get_form_queryset(self, obj)` returns all objects that should be shown in
+ the inline formset.
+* `save_new_instance(self, parent, instance)` given a parent object and a new
+ child object instance should associate the child object with the parent.
+
+For example, let's assume we have `Customer` and `Invoice` models. `Invoice`
+objects are associated with a `Customer` if they share the same email address.
+
+```python
+from nonrelated_inlines.admin import NonrelatedStackedInline
+
+
+class CustomerInvoiceStackedInline(NonrelatedStackedInline):
+ model = Invoice
+ fields = [
+ 'id',
+ 'amount'
+ ]
+
+ def get_form_queryset(self, obj):
+ return self.model.objects.filter(email=obj.email)
+
+ def save_new_instance(self, parent, instance):
+ instance.email = parent.email
+```
+
+When viewing an `Customer` instance, we fetch a queryset of all `Invoice`
+instances sharing the same email address. Similarly, when saving a new `Invoice`
+instance we make sure to set its email attribute to the same value as its parent
+`Customer`.
+
+
+
+
+%prep
+%autosetup -n django-nonrelated-inlines-0.2
+
+%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-nonrelated-inlines -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 0.2-1
+- Package Spec generated