fixes from PR feedback; make ProductForm.save() behave more like a ModelForm