steve
steve

Reputation: 423

using uuid as id/pk in django breaks admin page

i am using django 1.0.4 and have 3 models: Category <-1-m-> Item <-1-m-> Image.

i recently changed the id/pk to uuid:

id = models.CharField(max_length=32, primary_key=True,
                      default=make_uuid, editable=False)
...
def make_uuid():
    return str(uuid.uuid4()).replace('-','')

after i started using uuid, the Item's admin page would no longer let me inline add an Image. it would give me a form validation error even though there isn't any error. furthemore, if an Item has an Image, i can't change the Category, it would give me the following error:

KeyError at /admin/inventory/item/90965921681b4b69880b36bd716b0831/
id
...
/local/env/bfi2/lib/python2.6/site-packages/Django-1.0.4-py2.6.egg/django/forms/forms.py in _raw_value
 213. field = self.fields[fieldname] 

i think this is similar to the following bug: http://code.djangoproject.com/ticket/10992. ideally, i would like to avoid upgrading django and just patch the necessary files. has anyone else ran into this problem?

thanks, steve

Upvotes: 2

Views: 876

Answers (1)

Dominique Guardiola
Dominique Guardiola

Reputation: 3431

I've gone into such problems but they got solved with django-extensions UUID field.
But I cannot guarantee that this Field will work with an old django version, it was on 1.2.3

Upvotes: 2

Related Questions