This is not a requirement, but it is best practice.
You want to share your database from your presentation as much as possible and have a ViewModel (even if it is identical) gives you this separation. It also maintains consistency, so you do not have some views with models, and some without them. This type of design makes you think about all the data that you want your views to be able to make adhear and find out their optimization, see if data can be duplicated, store data in one place, etc.
Think of your ViewModel as a contract with View .... this View requires X to work.
A little more work, but in the end it will pay off.
source share