Blank is purely for validation and has nothing to do with the database constraints. If you want to prevent empty input just remove 'blank=True', surely?
Yep, I assumed that wasn't the case based on the blog post's goal of avoiding changing the schema (I thought blank=True must be adding a CHECK (column_name <> '') constraint or something).