Как я могу создать категорию для несгруппированных данных?
Я пытаюсь создать категорию для отсканированных данных, которые не сгруппированы, но получаю эту ошибку. Мне интересно, есть ли способ обойти ее.
Traceback (most recent call last):
File "C:\Users\MUHUMUZA IVAN\Desktop\JobPortal\test.py", line 128, in <module>
the_category = Category.objects.get(title="Others")
File "C:\Users\MUHUMUZA IVAN\AppData\Local\Programs\Python\Python310\lib\site-packages\django\db\models\manager.py", line 82, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "C:\Users\MUHUMUZA IVAN\AppData\Local\Programs\Python\Python310\lib\site-packages\django\db\models\query.py", line 397, in get
raise self.model.DoesNotExist(
jobapp.models.Category.DoesNotExist: Category matching query does not exist.
for test_job in final_jobs:
if 'Manager' in test_job['title']:
the_category = Category.objects.get(title='Manager')
elif 'Engineer' in test_job['title']:
the_category = Category.objects.get(title= 'Engineer')
elif 'Architect' in test_job['title']:
the_category = Category.objects.get(title='Architect')
else:
the_category = Category.objects.get(title="Others")
Я знаю, что он говорит, что нет запроса, соответствующего запросу Others, как я могу исправить это.
Вместо использования Category.objects.get(title="...")
в каждом блоке if/elif
.
вы можете выбрать один из этих методов для получения связанного the_category
объекта:
пользовательская функция с обработанным DoesNotExist
исключением:
def get_category_object(title):
try:
the_category = Category.objects.get(title='...')
except Category.DoesNotExist:
the_category = None
get_object_or_404()
функция:
from django.shortcuts import get_object_or_404
the_category = get_object_or_404(Category, title='...')
.get_or_create()
метод:
the_category, created = Category.objects.get_or_create(title='...')
.filter()
и .first()
методы:
the_category = Category.objects.filter(title='...').first()