'One thing we want to do here is the or None checks, because forms are saved with an empty
string rather than null from forms, usually, and the Handlers may handle empty strings
differently than None objects. So for consistency with how things are handled in game,
we\'ll try to make sure that empty form fields will be None, rather than \'\'.'

def save(self, commit=True):

    instance = self.instance
    instance.tag_key = self.cleaned_data['tag_key']
    instance.tag_category = (self.cleaned_data['tag_category'] or None)
    instance.tag_type = (self.cleaned_data['tag_type'] or None)
    instance.tag_data = (self.cleaned_data['tag_data'] or None)
    return instance
