Seems like a bad thing to require the validate method to cope with the absence of attributes. In addition it should not use data.get('product') because the None value (no product, junk branch) is perfectly valid here.
Seems like a bad thing to require the validate method to cope with the absence of attributes. In addition it should not use data.get('product') because the None value (no product, junk branch) is perfectly valid here.