有没有办法通过自定义函数测试字段的唯一性?
类似的东西:
def custom_unique_test(instance):
return global_test_results(instance)
class Category(models.Model)
slug = models.SlugField(unique=custom_unique_test())
由于
答案 0 :(得分:2)
我假设您的用例是您只关心与较大群体的某种关系中的唯一性 - 例如,您不需要全球唯一的slu ,,因此unique=True
“太独特”,您只需要Category
中每个CategoryGroup
的唯一标记。
我建议覆盖Category.save()
。您可以检查self.pk
以查看这是插入还是更新,如果是插入,您可以在调用super(Category, self).save(*args, **kwargs)
之前调用自定义唯一检查和子集生成代码。