Python 无法让Django在数据库中搜索用户输入的模型对象属性

Python 无法让Django在数据库中搜索用户输入的模型对象属性,python,django,if-statement,django-models,django-views,Python,Django,If Statement,Django Models,Django Views,如果有人能帮助我理解如何在django中正确搜索模型对象属性,我将不胜感激。首先,我请求一个名为userinput的输入字符串。我正在尝试获取views.py文件以检查数据库后端,查看是否有任何模型对象的fbusername属性与输入的userinput匹配。如果匹配,则只需从数据库返回fbusername属性的值。如果不匹配,则执行其他一些代码等,但我似乎无法正确执行第一步,因为即使我使用相同的fbusername属性预填充了对象,它也总是转到else条件。这是我的if声明,非常感谢您的帮助:

如果有人能帮助我理解如何在django中正确搜索模型对象属性,我将不胜感激。首先,我请求一个名为userinput的输入字符串。我正在尝试获取views.py文件以检查数据库后端,查看是否有任何模型对象的
fbusername
属性与输入的userinput匹配。如果匹配,则只需从数据库返回fbusername属性的值。如果不匹配,则执行其他一些代码等,但我似乎无法正确执行第一步,因为即使我使用相同的fbusername属性预填充了对象,它也总是转到
else
条件。这是我的if声明,非常感谢您的帮助:

...
from app.models import facebookobject
...
def view_for_all_pages(request, userinput = 'userinput'):
    if userinput == facebookobject(fbusername=userinput):
        return render (request, "app/template.html", {"userinput": facebookobject(fbusername=userinput)})
    else:
        ....
        name = fbstring['name']
        ....
        return render (request, "app/template.html", {"url_param": name})

我不能正确理解第一部分。它总是转到“else”条件,这意味着我无法获得与数据库中每个facebookusername属性相比较的userinput。我该怎么做?提前谢谢

这里根本不查询数据库。仅实例化一个
facebookobject
并不会执行查询:相反,这是创建新db条目的第一步

您应该使用记录良好的查询API:

try:
    fb = facebookobject.objects.get(fbusername=user input)
except face book object.DoesNotExist:
    # code for no match
else:
    # code for match, do something with fb

您应该学习本教程,其中对所有这些都进行了详细解释。

您的代码毫无意义。想必,
facebookobject
是一个模型类。因此,您正在从输入实例化一个新对象,然后检查它是否与您的输入相同?当然不是,它是您刚刚创建的对象。你到底想干什么?谢谢你的提示。我让它工作了。我没有看到有关查询API的教程。我不知道它的存在。一次快速的跑步让我跟上了速度。非常感谢!