Django:考虑到字段的顺序来验证模型的完整性?

时间:2018-02-10 23:16:45

标签: django django-models

这是加密货币的Symbol模型:

class Symbol(models.Model):
    currency = models.CharField(max_length=10)
    name_quote = models.CharField(max_length=10)

    class Meta:
        unique_together = ('currency', 'name_quote', )

问题在于有两种符号,一种用于BTC-ETHETH-BTC。 第一个意思是,货币是BTC,硬币的名称是ETH。第二个,反之亦然。

在这种情况下,django会将两个硬币识别为相同的硬币(因为unique_together不考虑字段的顺序)所以它出现在IntegrityError

如何在考虑字段顺序的情况下实现这一点?

1 个答案:

答案 0 :(得分:2)

unique_together表示Symbol的两个实例不能具有相同的currency name_quote。订单无关紧要。

有关详细信息,请参阅the documentation for unique_together