我们如何将相关模型字段唯一组合在一起?

时间:2014-02-14 10:02:40

标签: django

我有模特我希望相关的供应商和产品在一起是独一无二的。

class Vendoroffer(models.Model):
    vendor = models.ForeignKey(Vendor) 
    Category = models.ForeignKey(Category)
    product = models.ForeignKey(Product )
    cost_price = models.DecimalField( max_digits=15 , decimal_places=2)

1 个答案:

答案 0 :(得分:1)

使用Model.validate_unique方法可以达到你想要的效果。

def validate_unique(self, exclude=None):
    qs = Vendoroffer.objects.filter(vendor=self.vendor)
    if qs.filter(product = self.product).exists():
        raise ValidationError('Error Message Here')

Refere Django文档更多: https://docs.djangoproject.com/en/dev/ref/models/instances/#validating-objects