【问题标题】:Django - Dynamic unique test for a model fieldDjango - 模型字段的动态唯一测试
【发布时间】:2012-01-16 18:09:35
【问题描述】:

有没有办法通过自定义函数来测试字段的唯一性?

类似:

def custom_unique_test(instance):
    return global_test_results(instance)

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

谢谢

【问题讨论】:

    标签: python django model unique


    【解决方案1】:

    我假设您的用例是您只关心与更大群体的某种关系中的唯一性 - 例如,您不需要全局唯一的 slug,因此 unique=True 是“太独特”,您只需要CategoryGroup 中每个 Category 的唯一 slug。

    我建议覆盖Category.save()。您可以检查 self.pk 以查看这是插入还是更新,如果是插入,则可以在调用 super(Category, self).save(*args, **kwargs) 之前调用自定义的唯一检查和 slug-generation 代码。

    【讨论】:

    • 太棒了!这正是我所需要的,非常感谢。
    猜你喜欢
    • 2011-12-17
    • 2021-12-18
    • 1970-01-01
    • 2015-10-21
    • 1970-01-01
    • 2012-01-06
    • 1970-01-01
    • 2011-08-25
    • 2012-06-05
    相关资源
    最近更新 更多