Вы пишете:
page_obj = Title.objects.filter(slug=path)[:1]
это означает, что page_obj
является не Title
объектом, но QuerySet
, который будет содержать ноль или более (здесь самое большееодин) Title
элемент.Точно так же, как list
из int
egers не сам по себе int
eger.
Возможно, вы захотите использовать здесь .first()
, который вернет объект Title
или None
весли такого элемента не существует, например:
def AssetListView(request, *args, **kwargs):
path = os.path.basename(os.path.normpath(request.path))
print(path)
page_obj = Title.objects.filter(slug=path)<b>.first()</b>
print (page_obj)
for obj in Tag.objects.all():
print (obj.name)
if obj.name == page_obj.title:
return HttpResponse('test HTML')
Обратите внимание, что здесь вы можете вернуть что-то, если нет obj.name == page_obj.title
.
Однако слаг часто является уникальным атрибут.Поэтому обычно .get(..)
вместо .filter(..).first()
является более предпочтительным способом, так как тогда мы, по крайней мере, знаем, что что-то не так.Таким образом, возможно, стоит выяснить, почему несколько записей имеют одинаковый слаг.