如何在Django中通过id获取对象?[closed]

q5lcpyga  于 2022-12-01  发布在  Go
关注(0)|答案(3)|浏览(178)

已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题吗?**通过editing this post添加详细信息并阐明问题。

三个月前关门了。
Improve this question
我试图从Django中获取一个特定的对象...当我使用filter时,它返回了多个,而我只需要一个,我不希望我的字段是唯一的...有没有一种方法可以通过id来获取对象,因为id在Django Sqlite中默认是唯一的字段

3mpgtkmj

3mpgtkmj1#

您可以使用两个方法get()或更多更好的get_object_or_404(),因为它 * 在给定的模型管理器上调用get(),但它引发Http404而不是模型的DoesNotExist异常 *。
get()的实施:

SomeModelName.objects.get(id=id)

get_object_or_404()的实施:

from django.shortcuts import get_object_or_404

get_object_or_404(SomeModelName,id=id)
mwngjboj

mwngjboj2#

您可以选择以下方法之一来获取与您输入的id相关的对象:

get_object_or_404()函数:
from django.shortcuts import get_object_or_404

model_object = get_object_or_404(ModelName, id=id)
.get_or_create()方法:
model_object, created = ModelName.objects.get_or_create(id=id)
.filter().first()方法:
model_object = ModelName.objects.filter(id=id).first()
b09cbbtk

b09cbbtk3#

Yourtablename.objects.get(pk=id)

或使用过滤器。

相关问题