  from django.db.models.loading import register_models, get_model
  from django.dispatch import dispatcher
  from django.utils.datastructures import SortedDict
  from django.utils.functional import curry
  from django.utils.encoding import smart_str, force_unicode
  from django.conf import settings
  from itertools import izip
  import types
  import sys
  import os
 
</s> remove         pk_set = pk_val is not None and pk_val != u''
 </s> add         pk_set = pk_val is not None and smart_unicode(pk_val) != u''
from django.utils.encoding import smart_str, force_unicode, smart_unicode
  from django.db.models.loading import register_models, get_model
  from django.dispatch import dispatcher
  from django.utils.datastructures import SortedDict
  from django.utils.functional import curry
from django.utils.encoding import smart_str, force_unicode, smart_unicode
  from django.conf import settings
  from itertools import izip
  import types
  import sys
  import os
keep keep keep keep replace keep keep keep keep keep
 Fixed #5448: you can now use unicode characters in primary keys. Thanks, pigletto.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@6200 bcc190cf-cafb-0310-a4f2-bffc1f526a37 
django/db/models/base.py