This is a little odd to me, but I'm not sure how we could fix this in a general way.

What's going on here:

    # default values
    assert self.instance.name == ''
    assert self.instance.number is None

    # previous values default to None for new instance
    assert self.instance.tracker.previous('name') is None
    assert self.instance.tracker.previous('number') is None

    # '' != None
    assert self.instance.tracker.has_changed('name')
    #  None == None
    assert not self.instance.tracker.has_changed('number')