0

まず、私のモデルをお見せしましょう。

class ChannelStatus(models.Model):

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

        date = models.DateField()

        platform = models.ManyToManyField(Platform)

現在、ChannelStatusエントリを作成する場合、同じチャネルと日付であるエントリは複数存在できません。次に、これを各チャネルの一意性として各プラットフォームの日付に変更したいので、異なるプラットフォームは、同じ日付の複数の同じチャネルを持つことができます。どうすればこれを達成できますか?

4

1 に答える 1

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')

ところで、datetime で作業している 2 番目のフィールドの名前を date から変更しますfrom datetime import date

于 2009-08-21T12:10:20.460 に答える