
Product
Introducing Socket Scanning for OpenVSX Extensions
Socket now scans OpenVSX extensions, giving teams early detection of risky behaviors, hidden capabilities, and supply chain threats in developer tools.
django-nonrelated-inlines
Advanced tools
Django admin inlines for unrelated models
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.
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.
FAQs
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Socket now scans OpenVSX extensions, giving teams early detection of risky behaviors, hidden capabilities, and supply chain threats in developer tools.

Product
Bringing supply chain security to the next generation of JavaScript package managers

Product
A safer, faster way to eliminate vulnerabilities without updating dependencies