【发布时间】:2019-09-23 11:56:00
【问题描述】:
我正在尝试获取主要属性的值 (pk)。怎么做 ?
这个等价
SELECT id FROM User WHERE username="Fokoa"
【问题讨论】:
标签: django database django-queryset
我正在尝试获取主要属性的值 (pk)。怎么做 ?
这个等价
SELECT id FROM User WHERE username="Fokoa"
【问题讨论】:
标签: django database django-queryset
多种方式:
User.objects.filter(username='Fokoa').values_list('id', flat=True)
或者,如果您知道 username 是唯一的:
user = User.objects.get(username='Fokoa')
user.id
【讨论】:
您可以为此使用.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 中查询特定列并不常见。将主键视为“黑盒标记”是一种很好的做法,因此不要将它们解释为整数处理它们。毕竟,经常总结两个主键并没有多大意义。
【讨论】: