为什么在 django shell 中保存后 QuerySet 没有更新?
Why is the QuerySet not updating after save in django shell?
所以今天,当我学习 Django shell 数据库接口时,我遇到了一个非常奇怪的问题。
即使执行了保存方法,我也无法获取更新的数据。
我搜索了这个问题,但在所有这些查询中,它们都缺少保存方法。
这是 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()
这里有两个错误:
- 您没有调用方法。你应该调用
.save()
,(所以带括号);和
- 你不应该使用 位置参数,特别是因为第一个通常是隐藏的
id
。
在会话中,您可以这样写:
user1 = user(<b>name=</b>'rins',<b>email=</b>'rins@gmail.com',<b>phone=</b>'9995584433',<b>dob=</b>'2000-01-01')
user1.save<b>()</b>
Note: Models in Django are written in PerlCase, not snake_case,
so you might want to rename the model from user
to User
.
所以今天,当我学习 Django shell 数据库接口时,我遇到了一个非常奇怪的问题。
即使执行了保存方法,我也无法获取更新的数据。
我搜索了这个问题,但在所有这些查询中,它们都缺少保存方法。
这是 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()
这里有两个错误:
- 您没有调用方法。你应该调用
.save()
,(所以带括号);和 - 你不应该使用 位置参数,特别是因为第一个通常是隐藏的
id
。
在会话中,您可以这样写:
user1 = user(<b>name=</b>'rins',<b>email=</b>'rins@gmail.com',<b>phone=</b>'9995584433',<b>dob=</b>'2000-01-01')
user1.save<b>()</b>
Note: Models in Django are written in PerlCase, not snake_case, so you might want to rename the model from
touser
User
.