﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
34055	InlineModelAdmin and permissions on the instances shown in the in-line	Jonas Vacek	nobody	"https://docs.djangoproject.com/en/4.1/ref/contrib/admin/#django.contrib.admin.InlineModelAdmin.has_change_permission

As documented above, the `has_{xyz}_permission()` functions are referring to the parent `obj`.

As far as I can tell, there's no method currently available change the permissions on each instance inside of an inline.

to help visualise what I'm aiming for, here is a screenshot with an implemented work-around that overrrides the default form of the in-line

[[Image(https://i.imgur.com/Aatfblj.png)]]
The work-around is not perfect, as it just changes the `<input>` attributes on the form, and changes will not be rejected in any way, but it gives the visual idea. The above is achieved with the following

{{{
class MyInlineForm(ModelForm):
    def __init__(self, *args, **kwargs):
        super(MyInlineForm, self).__init__(*args, **kwargs)
        instance = getattr(self, ""instance"", None)
        if (
            instance
            and instance.id
            and (instance.my_permission_function())
        ):
            for field in self.fields:
                self.fields[field].widget.attrs[""readonly""] = True
}}}"	New feature	closed	contrib.admin	dev	Normal	wontfix	Admin, Inline, Permissions		Unreviewed	0	0	0	0	0	0
