-
-
Notifications
You must be signed in to change notification settings - Fork 4
Description
Expected Behavior
Either calling view(template=template) should either result in an error (due to template not being a view restriction), or View's implicit __str__ behavior should not act the way that it does.
Current Behavior
Calling a View as a function currently leads to some unexpected behavior, when given an argument other than a filter restriction. For example, {{view.previous(template='foo')}} just results in the same result as view.previous.link(), because view.previous(template='foo') is functionally the same as view.previous (since template is not a filter parameter), and then the resulting View object gets __str__ called on it.
Possible Solution
Unexpected filter arguments should result in an error, probably.
A possible means of implementing this change would be to change queries.build_query to raise a RangeError for an unknown query parameter, which in turn could be done by changing the logic there to be a foreach that maps to a bunch of lambdas that refine the query (or modify local state for the final filter parameter)