I imported a model(named Feature) and set it to a list in Django
posts = Feature.objects.order_by('name')
upon calling the 5th element
print(posts[5])
this displays apple in shell which is the 5th object
however on checking it with a if condition it returns false
if 'apple' in posts: print("yes") else: print("no")
and it prints no .. why is this happening even tho apple exists in the list
Advertisement
Answer
'apple'
is a string object. posts
is not a list
but QuerySet
object of Feature
objects.
It will never find object of other type :)
You have to seek Feature
objects like that, in example:
apple = Feature.objects.get(name='apple') # or if you have more than one apple = Feature.objects.filter(name='apple').first() posts = Feature.objects.order_by('name') if apple in posts: print("yes") else: print("no")
it will print yes
.
PS If name is going to be unique
you can add unique=True
to the model.