Cha*_*aro 5 python django unique django-models
所以我有一个看起来像这样的模型
def create_invite_code():
return str(uuid.uuid4())[0:8]
class InviteCodes(models.Model):
id = models.CharField(max_length = 36, primary_key = True, default=build_uuid)
code = models.CharField(max_length=8, unique=True, default=create_invite_code)
Run Code Online (Sandbox Code Playgroud)
如果create_invite_code返回已经存在于db中的代码会发生什么,django会再次调用该函数,直到找到一个不存在的函数?或者它会错误吗?
模型中的代码字段InviteCodes是一个独特的字段。如果您尝试使用已存在的代码创建另一个条目,那么 python 将引发IntegrityError: UNIQUE constraint failed异常。
您可以通过从函数返回常量字符串来测试它create_invite_code。例如,
def create_invite_code():
return 'test'
Run Code Online (Sandbox Code Playgroud)
第一个条目将是唯一的,但在第二次调用中将引发异常。
| 归档时间: |
|
| 查看次数: |
2661 次 |
| 最近记录: |