Python 获取Django对象的唯一引用id
我想在我的Python 获取Django对象的唯一引用id,python,django,Python,Django,我想在我的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_exis
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
异常,并以此方式构建逻辑 如果查询不存在,django模型上的.get
将引发异常。所以这句话没有意义:
id_exicts = Join.objects.get(ref_id=ref_id)
也许你想要的是
id_exicts = Join.objects.filter(ref_id=ref_id).exists()
或者,您可以从
.get
中捕获Join.DoesNotExist
异常,并以此方式构建逻辑 提示:使用uuid4().hex
而不是你正在做的那些奇怪的字符串,我只是这么做了,但根本没有创建引用Id!提示:使用uuid4().hex
而不是你正在做的那些奇怪的字符串,我只是这么做了,但根本没有创建引用Id!如果你不介意帮忙,我有个问题。接下来教我的课程也使用了相同的方法。使用try和except语句,但它是有效的。为什么?如果你不介意帮忙的话,我有个问题。接下来教我的课程也使用了相同的方法。使用try和except语句,但它是有效的。为什么?