我正在尝试获取主属性(pk
)的值。怎么做 ?
与此等效
SELECT id FROM User WHERE username="Fokoa"
答案 0 :(得分:2)
多种方式:
User.objects.filter(username='Fokoa').values_list('id', flat=True)
或者,如果您知道username
是唯一的:
user = User.objects.get(username='Fokoa')
user.id
答案 1 :(得分:1)
您可以使用.values_list(..)
[Django-doc]:
from django.contrib.auth.models import User
User.objects.filter(username='Fokoa').values_list('pk', flat=True)
或者我们可以使用以下方法将其转换为主键列表:
from django.contrib.auth.models import User
list(User.objects.filter(username='Fokoa').values_list('id', flat=True))
话虽如此,在Django中查询特定列并不是很常见。优良作法是将主键视为“黑匣子令牌”,因此不要将其解释为整数来处理它们。毕竟,经常总结两个主键没有多大意义。