A more complete (but still hacky) workaround for unique_together