%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 - 0.2-1 - Package Spec generated