Valid lookups are rejected after r15031
|Reported by:||medhat||Owned by:||nobody|
|Has patch:||yes||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
The description of the fix for the recently found security issue in the admin interface states the following: "To remedy this, django.contrib.admin will now validate that querystring lookup arguments either specify only fields on the model being viewed, or cross relations which have been explicitly whitelisted by the application developer using the pre-existing mechanism mentioned above."
To me this means that a querystring lookup argument for a field that is on the model does not need to be whitelisted. But it does not seem to be working this way, it seems that *any* field in the querystring lookup arguments need to be whitelisted, this else will apply to all fields, not just cross relations.
I use this querystring building trick to filter on a FloatField, to filter either by field__lt=0 or field__gt=0. Adding that field to list_filters just lists all the values this field has which is not very useful.
Change History (8)
comment:1 Changed 4 years ago by medhat
- Needs documentation unset
- Needs tests unset
- Patch needs improvement unset
- Summary changed from Valid lookups are regected after r15031 to Valid lookups are rejected after r15031