1👍
Because the model shouldn’t know anything about session, that creates unnecessary entanglement(?) beetween different components and violation of MVC pattern.
What I suggest to do, is to call the function, specifying parameters needed to get a proper result, viewer object in this case.
If using the code in the question, how do you expect your model to work if it’s used in a management command (where there is no http request and as a result no session) ?
Or from a celery job ?
Source:stackexchange.com