如何解决在django shell中保存后,为什么QuerySet无法更新?
所以今天,当我学习数据库的Django Shell接口时,我遇到了一个非常奇怪的问题。
即使执行了save方法,我也无法获得更新的数据。
我搜索了这个问题,但是在所有这些查询中,它们都缺少保存方法。
这是django更新问题还是我缺少什么?
>>> from hello.models import user
>>> user.objects.all()
<QuerySet []>
>>> user1 = user("rins","rins@gmail.com","9995584433","2000-01-01")
>>> user1.save
<bound method Model.save of <user: rins@gmail.com>>
>>> user.objects.all()
<QuerySet []>
这是我的模特
class user(models.Model):
name=models.CharField(max_length=30)
email=models.CharField(max_length=30)
phone=models.CharField(max_length=11)
dob=models.DateField()
解决方法
这里有两个错误:
- 您没有调用该方法。您应该 call
.save()
,(因此带括号);和 - 您不应使用位置参数,尤其是因为第一个通常是隐藏的
id
。
因此,在会话中,您可以这样写:
user1 = user(name='rins',email='rins@gmail.com',phone='9995584433',dob='2000-01-01')
user1.save()
注意:Django中的模型是用 PerlCase 而不是 snake_case 编写的, 因此您可能希望将模型从
重命名为user
User
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。