This commit is contained in:
Michael Brannan 2020-02-28 22:27:40 +00:00
parent 1a79ee34d8
commit be36893f63

View file

@ -149,13 +149,17 @@ class PermissionAdmin(admin.ModelAdmin):
def formfield_for_dbfield(self, db_field, **kwargs):
# For generic foreign keys marked as generic_fields we use a special widget
try:
model_meta_fields = self.model._meta.virtual_fields
except AttributeError:
model_meta_fields = self.model._meta.private_fields
names = [
f.fk_field
for f in self.model._meta.virtual_fields
for f in model_meta_fields
if f.name in self.generic_fields
]
if db_field.name in names:
for gfk in self.model._meta.virtual_fields:
for gfk in model_meta_fields:
if gfk.fk_field == db_field.name:
kwargs["widget"] = GenericForeignKeyRawIdWidget(
gfk.ct_field, self.admin_site._registry.keys(),