I tried django-oscar for about a week and decided to go with in-house solution, using django-merchant. So this is my review of django-oscar:
No offence guys, seriously, I really appreciate work you are doing and it's awesome!
But oscar is too heavy and too messy for me. It's conventions really cross Django's conventions a lot of times and in the end, developer starts to use 2 frameworks on top of each other and plus trying to add their own, which gets way too messy. I tried to simply create currency conversion, which should be pretty straightforward, but I ended up writing strategies and then overriding some basket app's code and then some huge mixins of order processing and it still wasn't working. While I believe that couple of more days will allow me to finish it, I realize that I've spent more time on trying to understand oscar's code than actual coding.
And I didn't even mention half of actual problems. Like for example, urlconf is in app.py instead of urls.py, some considerable portion of code is being refractored (like class entities for example), you have to override oscar's app for every single app which has to do anything with your webapp, and overriding isn't that simple like subclassing - you have to replace app.py, then insert the line in bottom of models.py which imports oscar's model, you have to use oscar's custom function inside INSTALLED_APPLICATIONS setting which will override oscar's app... etc... And I don't even remember other stuff I had to do. But that's only from 1 week of working with oscar. Any customization brought me to hacking oscar's code.
Oscar focuses on being over-the-counter solution for ecommerce with Django and it's ready after installation. I think for people who want to just install Django and have a shop ready-to-go, oscar is perfect solution. But if you want customizable webapp, then you will have nightmares figuring out how oscar does certain things and then you'll have to do a lot of hacking. But then again, if somebody wants ready to go ecommerce solution, and doesn't want a lot of customization which Django offers, then why not to use other frameworks which focus only on ecommerce? Like magento or opencart etc. Oscar is a heavy framework on top of other heavy framework. Oscar would've been awesome if it would just offer bunch of helper methods for ecommerce with Django, which you could simply import and use, instead of going over-the-counter and using itself as foundation to build your own webapp on.
Again guys, I appreciate your work, I honestly believe that you do this to make things easier for people, but easier it got for non-programmers, harder it got for programmers. I wrote this simply because I want oscar to succeed, but I doubt that we'll see any super-customized webapp built on oscar because of it's conventions. Cheers, and good luck!