As usual I spoke too soon, when I claimed that upgrading to use django-tagging was as easy as. There appears to be a problem with django-tagging if the model which a TagField is being attached to has a Primary Key which is text based. It has taken me a good 24 hours of head scratching to pin it down to this. This creates an error of the form:

invalid literal for int() with base 10: slug-name

when trying to save an object with a tag. Where slug-name refers to the slug of the object name. Basically to cure this requires removing the:

primary_key=true

attribute from the model, flushing the database and re-syncing it with the model. This creates a new auto-incremented primary key field, which needs to be taken into account when reloading the data into the database. That’s all that is required (fingers crossed) to stop the error message from occurring.