Оптимизация unique_together в Django Models

У меня есть модель, содержащая FK и CharField, и эта пара должна быть уникальной:

class Map(models.Model):
    uuid = models.UUIDField(unique=True, default=uuid4, editable=False, db_index=True)
    user = models.ForeignKey(User, related_name="uploaded_map", on_delete=models.CASCADE)
    workspace = models.ForeignKey(Workspace, on_delete=models.CASCADE)
    c_layer = models.CharField(max_length=40, blank=False)

    class Meta:
        unique_together = ["workspace", "c_layer"]

В проекте используется PostgreSQL, и я немного беспокоюсь, что это ограничение создаст тяжелые индексы из-за ограничения в 40 символов для c_layer, но я не уверен, что это действительно то, что повлияет на производительность.

Можно ли индексировать sha1-хэш-версию этого поля, чтобы уменьшить нагрузку на БД?

Вернуться на верх