[英]How to get the value of Primary Key of any table for a particular row
在 django 中,我正在创建用户,之后我想要用户的 PK,然后我想将其放入其他表中。
我正在使用下面的代码
id_profile = User.objects.filter(email = email)
id_profile = id_for_profile.values("id")
我在这里得到 output <QuerySet [{'id': 11}]>
但我想要与变量“id_profile”关联的数字“11”
怎么做到呢?
[[解决了]]
它返回一个字典列表,我可以用这种方式访问值。
或使用下面提供的答案。
User.objects.filter(email = email)
是列表。
尝试
id_profile[0].id
或使用get
而不是filter
方法
id_profile = User.objects.get(email = email)
现在它将返回 object,并访问pk
id_profile.pk
你可以试试这个:
id_profile = User.objects.get(pk=pk)
pk = id_profile.pk
您还可以使用内容类型
user_pk = ContentType.objects.get(app_label='auth',model='user').pk
因为email
字段是唯一的,所以您应该使用get
,因为 model 不会返回多个user
object。
您应该使用get_object_or_404
。 当 email 不存在时,将引发异常。
from django.shortcuts import get_object_or_404
user = get_object_or_404(User, email=email)
# to access the pk you can do this
user.pk
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.