更新Django中最后插入的记录
在Django中,我希望从数据库中检索最后插入的记录并更新其值 我使用这个模型:更新Django中最后插入的记录,django,Django,在Django中,我希望从数据库中检索最后插入的记录并更新其值 我使用这个模型: def User(models.Model): name = models.CharField(max_length=15) 我运行以下代码来检索最后插入的记录并更新名称: User.objects.last().update(name=‘NEW NAME’) 但是,错误在于更新不是已知的方法 .last()确实返回整个记录,还是只返回主键 多谢各位 .last()确实返回整个记录,还是只返回主键 返回
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(..)
。你好,威廉。您能推荐一个替代方案来更新该更新模型吗?