create_or_get returns wrong instance
Is the create not raising an IntegrityError in the create_or_get case? The problem was a combined unique index. My PR should fix it. Thanks for your work on the PR. As I said in my comment on the PR, the code one needs to write to do a create-or-get is only a few lines long and, in my opinion, does not justify the complexity of the corresponding helper method. In the next minor release, I'll be removing `create_or_get()` since it seems to cause more confusion that actually help. That is a very good idea. I wasn't sure if I could suggest this.

In both the old and my improved state, there exist configurations (e.g. multiple unique indexes) where the wrong entry would be returned. Heck, it might not even be possible to say what the right entry would be: If you tried to insert an entry violating _two_ unique indexes at the same time, the method could return the entry for either of those. Exactly. For only the most trivial use-cases would that method be very helpful, and the resulting code to achieve the equivalent functionality is only a couple extra lines... Thanks for your work on this PR, I hope you don't feel it was time wasted.
```python
>>> Tag.get(name='etf', prefix='wp')
<Tag (#16) wp:etf>
>>> Tag.create_or_get(name='etf', prefix='wp')
(<Tag (#1) mime:*>, False)
>>> Tag.get_or_create(name='etf', prefix='wp')
(<Tag (#16) wp:etf>, False)
```

See above, should be self explanatory. Going to analyze (and hopefully fix) it now.