Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialVidhya Sagar
1,568 PointsLost:(
What am i doing Wrong ? Create a function named search_challenges that takes two arguments, name and language. Return all Challenges where the name field contains name argument and the language field is equal to the language argument. Use == for equality. You don't need boolean and or binary & for this, just put both conditions in your where().
from models import Challenge
def create_challenge(name, language, steps=1):
Challenge.create(name=name,
language=language,
steps=steps)
def search_challenges(arg1,arg2):
b=Challenge.select()
return b.where(Challenge.name==arg1,Challenge.language==arg2)
3 Answers
Brian Jensen
Treehouse Stafffrom models import Challenge
def create_challenge(name, language, steps=1):
Challenge.create(name=name,
language=language,
steps=steps)
def search_challenges(name, language):
return Challenge.select().where(
Challenge.name.contains(name),
Challenge.language==language
)
Vidhya Sagar
1,568 PointsThanks for your answer ,worked like a charm .But why are you using contains for name ,but not in language.
Jennifer Nordell
Treehouse TeacherVidhya Sagar glad to see Brian could help you find the solution! But the answer to your question lies in the instructions of the challenge. Take a look:
Return all Challenges where the name field contains name argument and the language field is equal to the language argument.
This means that the Challenge it's looking for only has to contain the name. For example, you could search for CRUD and it would return any CRUD challenges in that language, such as CRUD 1, CRUD 2, CRUD 7 etc.
Hope this helps!
edited for additional note
As a side note, the language Python, Ruby, PHP etc is generally going to be more exclusive. While different versions of these languages may be available at any given time, we generally refer to the language in more generic terms. For example, it's easier to say I'm learning Python than say I'm learning Python 3.5.
Vidhya Sagar
1,568 PointsSilly me, Thanks Jennifer Nordell :):)