2012-01-16 59 views
1

有没有方法通过自定义函数来测试字段的唯一性?Django - 模型字段的动态唯一测试

喜欢的东西:

def custom_unique_test(instance): 
    return global_test_results(instance) 

class Category(models.Model) 
    slug = models.SlugField(unique=custom_unique_test()) 

感谢

回答

2

我假设你的使用情况是,你只关心一个大集团的一些关系中的独特性 - 比如,你没有全球需要独特的slu,,所以unique=True是“太独特”,你只需要在CategoryGroup内的每个Category独特的slu slu。我想建议覆盖Category.save()。您可以查看self.pk以查看是否为插入或更新,如果插入或更新,您可以在致电super(Category, self).save(*args, **kwargs)之前调用您的自定义唯一检查和子弹生成代码。

+0

太棒了!这正是我需要的,非常感谢。 – thyagx 2012-01-17 19:11:13