django每个日期都是唯一的

时间:2009-08-21 09:19:52

标签: django django-models unique

首先让我告诉你我的模特:

class ChannelStatus(models.Model):

        channel = models.ForeignKey(Channel,unique_for_date="date")

        date = models.DateField()

        platform = models.ManyToManyField(Platform)

现在,当我想创建一个ChannelStatus条目时,不能有多个条目,它们是相同的频道和日期。现在,我想将此更改为每个频道的唯一日期,以便每个平台的日期,所以不同的平台可以有几个相同的日期相同的渠道。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:2)

好的,这个怎么样。 (未经测试的代码。)

class ChannelStatus(models.Model):

        channel = models.ForeignKey(Channel)

        date = models.DateField()
        class Meta:
            unique_together = ('channel', 'date')



class ChannelM2M(models.Model):
    channel_status = models.ForeignKey(Channel)
    platform = models.ForeignKey(Platform, unique = True)

[旧答案]

 class Meta:
    unique_together = ('channel', 'date', 'platform')

顺便说一句,我会更改第二个字段的名称,从日期时间开始,有时候是from datetime import date,你会被咬掉