Python 如何从django数据库获取行?
您好,我正在尝试创建一个打卡打卡网站,我不知道如何获得一行过滤的人的名字添加在打卡时间 这是代码。第一个if语句工作正常,但else语句是我遇到问题的地方: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 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