Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从django数据库获取行?_Python_Django_Django Models - Fatal编程技术网

Python 如何从django数据库获取行?

Python 如何从django数据库获取行?,python,django,django-models,Python,Django,Django Models,您好,我正在尝试创建一个打卡打卡网站,我不知道如何获得一行过滤的人的名字添加在打卡时间 这是代码。第一个if语句工作正常,但else语句是我遇到问题的地方: if response.POST.get("clockIn"): if form.is_valid(): n = form.cleaned_data["name"] t = Name(name =

您好,我正在尝试创建一个打卡打卡网站,我不知道如何获得一行过滤的人的名字添加在打卡时间

这是代码。第一个if语句工作正常,但else语句是我遇到问题的地方:

        if response.POST.get("clockIn"):
            if form.is_valid():
                n = form.cleaned_data["name"]
                t = Name(name = n, timeIn=datetime.now(), timeOut=NULL)
                t.save()
        else:
            if form.is_valid():
                n = form.cleaned_data["name"]
                t = Name.objects
                t = t.filter(name = n)
                s = t(timeOut = datetime.now()) 
                s.save()
这是我的models.py:

class Name(models.Model):
    name = models.CharField(max_length=200)
    timeIn = models.DateTimeField()
    timeOut = models.DateTimeField(default=datetime.now())

    def __str__(self):
        return self.name

您没有提供足够的信息来正确解决此问题。您的
models.py
文件在哪里?您应该在问题中添加
models.py
文件

顺便说一下,在Django中,使用filter获取一行如下所示:

name=your_person_name
Entry.objects.filter(person_name=name)

顺便说一句,当我尝试刷新我的网站时,它会说'QuerySet'对象不可调用。
s=t(timeOut=datetime.now())
这是错误的。这不是对特定字段执行更新的方法。此行抛出QuerySet对象不可调用。@MahenderTakur我需要将其更改为什么?检查答案!我已经添加了models.py文件
if form.is_valid():
    n = form.cleaned_data["name"]
    # If there are unique entries for this name then you should use get method instead of filter
    try:
        t = Name.objects.get(name=n)
        t.timeOut = datetime.now()
        t.save()
    except Exception as _: # or maybe NameDoesNotExist exception
        # Handle case
        pass