Been doing some extra testing, and it turns out the unique constraint wouldn't help, because any of the relevant fields - `region`, `category` or `carrier` - can be `NULL`, too. So with `unique_together = ('collection_type', 'region', 'carrier', 'category')`, you could create 2 identical `Collection` if their `category` field is `None`, for instance.

Worse, django-rest-framework doesn't appear to be doing the same checks than django's `ModelForm` do on unique_together constraints. It happily lets everything validate and then you get an `IntegrityError`.

For these reasons, I think we should keep it that way.