更新Django中最后插入的记录

更新Django中最后插入的记录,django,Django,在Django中,我希望从数据库中检索最后插入的记录并更新其值 我使用这个模型: def User(models.Model): name = models.CharField(max_length=15) 我运行以下代码来检索最后插入的记录并更新名称: User.objects.last().update(name=‘NEW NAME’) 但是,错误在于更新不是已知的方法 .last()确实返回整个记录,还是只返回主键 多谢各位 .last()确实返回整个记录,还是只返回主键 返回

在Django中,我希望从数据库中检索最后插入的记录并更新其值

我使用这个模型:

def User(models.Model):
    name = models.CharField(max_length=15)
我运行以下代码来检索最后插入的记录并更新名称:

User.objects.last().update(name=‘NEW NAME’)
但是,错误在于更新不是已知的方法

.last()确实返回整个记录,还是只返回主键

多谢各位

.last()
确实返回整个记录,还是只返回主键

返回最后一个
用户
对象,如果没有此类记录,则返回

现在,单个模型对象确实没有
.update(..)
方法。只有
QuerySet
具有方法。例如,您可以检索、更改字段,然后保存对象:

last_user = User.objects.last()
if last_user is not None:
    last_user.name = 'NEW NAME'
    last_user.save()

您必须首先获得用户模型,然后像这样使用last

user=user.objects.all().last()
现在您可以使用此代码进行更新

user.name='Daniel'

user.save()

class User(models.Model):
    name = models.CharField(max_length=15)
然后转到终端并启动shell进行一些测试。为此你做了什么

python manage.py shell
在shell中,首先需要导入数据库/模型

from nameofyourapp.models import User
获取可以编写的最后一个元素

lastUser = User.objects.all().last()
现在更改最后一个用户

lastUser["name"] = "Josh"
保存更改

lastUser.save()

退出终端

.last()
返回一个模型对象,这意味着您不能对其调用
.update(..)
。你好,威廉。您能推荐一个替代方案来更新该更新模型吗?