Given that you say you're working with PG Navicat, I assume you're using Postgresql as your database. Postgresql has a concept of sequences, which it uses to generate IDs for auto-generated fields like Django's AutoField.
I think what you've done, by copying data in directly, is created records with the specific IDs that existed in your existing data. Since Postgresql didn't have to generate these IDs, it probably never incremented its sequence. So when you add new records, Django doesn't provide an ID, so Postgresql gets a new one from its sequence, then bombs out because that new ID already exists. Check out the Postgresql docs for ALTER SEQUENCE[1], which you can use to reset the value to something like the highest ID in your data set (or the highest plus one, I'm not sure). This way, when a new object is created, the generated ID won't already be in use. Keep in mind that you'll have to do this for every sequence that your database uses to generate IDs, and each one will need to be set to a different value, depending on what IDs are in the related table. Hope that helps. -Gul [1] http://www.postgresql.org/docs/current/interactive/sql-altersequence.html --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---