使用部分索引排除约束-Postgresql

使用部分索引排除约束-Postgresql,sql,django,postgresql,Sql,Django,Postgresql,我有以下表格: 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('Ca

我有以下表格:

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)
我想让
时段。时间范围
唯一,这样就不会有其他时段与之重叠,而只是该时段有约会

到目前为止,我有以下SQL

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

这里有没有加入的方法,我尝试了很多方法都没有成功。也许我会在
Slot
表中添加一个
appointment\u id
列。

这是一对一的关系吗?因为我不认识django,你能为我的利益添加
CREATE TABLE
语句吗?这是一对一的关系吗?由于我不认识django,您能为我添加
CREATE TABLE
语句吗?