Accessing inline fields within inline get_formset in Django Admin

Viewed 205

I have the following example where I have buildings(address, location,...) and apartments(name, size, type, building). One building containing multiple apartments.

class BuildingAdmin(admin.ModelAdmin):
    inlines = [ApartmentInline,]

class ApartmentInline(admin.StackedInline):
    def get_formset(self, request, obj=None, **kwargs):
        formset = super(ApartmentInline, self).get_formset(request, obj=None, **kwargs)

        #Here i'd like to see the values of inline fields, for example size or building that.
        #Similar to how one can access ModelAdmin fields with obj.location within get_form

        formset.form.base_fields["type"].widget = SelectMultiple(choices=custom_choices)
        return formset

I'd like to be able to get the current apartments instance and field values when editing the object (for example size), so that I can create custom choices (querying other DB's or API's) for another field (type).

0 Answers
Related