You're using objects instead of _default_manager here; why? Also you've just failed to get it and now you're trying to get or create it. You should either just use create here, or you should do something like:

```
   if create:
       instance, _ = models._default_manager.get_or_create(pk=pk)
   else:
       instance = models._default_manager.get(pk=pk)
```
Also what happens if you are trying to create a model which has required fields without defaults? You're not providing any defaults. I also find it odd to try to create something and provide it with a pk, given that pk is an autoincrement field by default.