获取 Django 对象的唯一引用 ID



我想在我的Django项目中创建一个函数,以确保加入我的网站的每个用户的参考ID的唯一性,但是当单击join时,我收到此错误:

Join matching query does not exist.

这是我的函数:

def get_ref_id():
    ref_id = str(uuid.uuid4())[:10].replace('-','').lower()
    id_exists = Join.objects.get(ref_id=ref_id)
    if id_exists:
        get_ref_id()
    return ref_id

如果查询不存在,django 模型上的.get将引发异常。 所以这句话没有意义:

id_exicts = Join.objects.get(ref_id=ref_id)

可能你想要代替

id_exicts = Join.objects.filter(ref_id=ref_id).exists()

或者,您可以从.get中捕获Join.DoesNotExist异常,并以这种方式构建逻辑。

最新更新