I'm writing a small django command to copy data from a json API endpoint into a Django database. At the point I actually create the objects, with obj, created = model.objects.get_or_create(**filters), I am getting a MultipleObjectsReturned error. This is surprising to me, because my understanding of get_or_create is that if I try to create an object that already exists, it will just 'get' it instead.

I'm not certain about the integrity of the database I'm cloning, but even if there are multiple identical objects in it, when I load them into my local Django database, shouldn't get_or_create make it so that I never get more than one copy?

Can anybody explain this? I'm happy to give more specifics, I just didn't want to bog the reader down.

Edit
Report