There are a lot of approaches to solve this problem, and depending on your situation any of them might work. You could certainly use a TextField to store XML or JSON or any other form of text. In combination with Python's pickle feature you can do some neater stuff.
You might look at the Django Pickle Field definition on DjangoSnippets:
http://www.djangosnippets.org/snippets/513/
That allows you to dump Python dictionaries into fields and does some manipulation so that when you reference those fields you can get easy access to the dictionaries without any need to re-parse XML or anything.
I imagine you could also explore writing a custom field definition that would do a similar thing for other serialization formats, although I'm not sure how useful that would be.
Or you could simply refactor your model to take advantage of ManyToMany fields. You can create a model for a generic key,value pair, then on your primary model you would have a M2M reference to that generic key,value model. In that way you could leverage more of the Django ORM to reference data, etc.