Исключить ограничение с частичным индексом - Postgresql - PullRequest
0 голосов
/ 26 июня 2019

У меня есть следующие таблицы:

class Slot(models.Model):
    time_range = models.DateTimeRangeField()
    calendar = models.ForeignKey('Calendar')
    campaign = models.ForeignKey('Campaign', null=True)

class Appointment(models.Model):
    calendar = models.ForeignKey('Calendar')
    campaign = models.ForeignKey('Campaign', null=True)
    slot = models.ForeignKey('Slot', models.DO_NOTHING, unique=True, null=True)
    timezone = models.CharField(max_length=120)

Я хочу сделать Slot.time_range уникальным, чтобы другие слоты не перекрывались с ним, а просто у этого слота есть назначение.

У меня естьследующий SQL пока

 ALTER TABLE appointments_slot
   ADD CONSTRAINT time_range_unique
   EXCLUDE USING gist (time_range WITH &&)
   WHERE (MISSING PART);

Есть ли способ присоединиться или что-то здесь, я пробовал много способов без успеха.Возможно, я закончу добавление столбца appointment_id в таблицу Slot.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...