Как получить объект по идентификатору в 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)

Или используйте фильтр

Вернуться на верх