GenericForeignKeyRawIdWidget with Django 1.11
mikebq opened this issue · 0 comments
I am porting an app to Django 1.11 and found that if I look at individual permissions an error occurs. It comes from GenericForeignKeyRawIdWidget
. I have had a look at the code in question and I am trying to get understand what is going on, it seems a little confused: https://github.com/jazzband/django-authority/blob/master/authority/widgets.py#L22-L26 The __init__
method in the class is calling the __init__
method of the base class' base class (so it misses a level of initialisation, which I think is not a good idea). However the parameters for GenericForeignKeyRawIdWidget.__init__
are not sufficient to call ForeignKeyRawIdWidget.__init__
.
So essentially for a GET against /authority/permission/21852/change/
using Django 1.11.28 results in an AttributeError: 'GenericForeignKeyRawIdWidget' object has no attribute 'rel'
It blows up in /site-packages/django/contrib/admin/widgets.py in get_context, line 139. However though changing the base class of GenericForeignKeyRawIdWidget
to forms.TextInput
does prevent this error, but is that the right thing to do?
If anyone has any advice or clues of how to have this behave then thank you in advance :)