Как получить объект по идентификатору в Django
Я пытаюсь получить конкретный объект из Django... Когда я использую фильтр, он возвращает несколько объектов, а мне нужен только один, и я не хочу, чтобы мои поля были уникальными... Есть ли способ получить объект по id, поскольку id будет единственным уникальным полем по умолчанию в Django Sqlite
Вы можете использовать два метода 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)
Вы можете выбрать один из этих методов, чтобы получить объект, связанный с 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()
Yourtablename.object.get(pk=id)
Или используйте фильтр