Джанго уникален для каждой даты - PullRequest
0 голосов
/ 21 августа 2009

Прежде всего позвольте мне показать вам мою модель:

class ChannelStatus(models.Model):

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

        date = models.DateField()

        platform = models.ManyToManyField(Platform)

Прямо сейчас, когда я хочу сделать запись ChannelStatus, не может быть более одной записи с одним и тем же каналом и датой. Теперь я хочу изменить это как уникальность каждого канала на дату для каждой платформы Таким образом, разные платформы могут иметь несколько одинаковых каналов с одинаковой датой. Как мне этого добиться?

1 Ответ

2 голосов
/ 21 августа 2009

Хорошо, как насчет этого? (Непроверенный код.)

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, вас укусят

...