模型增删改查
首先,在Django中定义我们的数据库模型。
第一步,就是要将想注册的模型的app进行注册。
第二步,就是在settings中进行配置。(DATABASES)
接下来就是定义模型:
class Student(models.Model): id = models.AutoField(primary_key=True) name = models.CharField(max_length=20) sex = models.SmallIntegerField(default=0) age = models.SmallIntegerField(null=True) phone = models.CharField(max_length=20, null=True) # 可以返回内容 def __str__(self): return '<student id=%s name=%s age=%s>'%(self.id,self.name,self.sex)
模型定义好之后,要进行模型到数据库的映射:
将模型映射到数据库:
1 创建映射文件 python manage.py makemigrations 可以跟某个app名称
2 将映射文件中的映射数据提交到数据库中
python manage.py migrate
我们在views中定义视图函数:
def add_user(request): ben = Student(name='liu', age=10,sex=1) # 对数据库进行增加修改删除 都要保存 ben.save() # 方法二 big = Student() big.name = 'jiucheng' big.age = 18 big.sex=1 big.save() # 方法三 Student.objects.create(name='hansha', age=20) # 方法四 Student.objects.get_or_create(name='baian', age=23,sex=0) return HttpResponse('添加数据成功') def search_user(request): # 查询所有 rs = Student.objects.all() # 查询指定一条 first = Student.objects.get(id=1) # 满足指定条件查询 hansha = Student.objects.filter(name='hansha') print(hansha) # 用到了重改的方法 __str__ # 或者 hansha[0].name 获取数据 return HttpResponse("查询成功")
上述方法,必须要先进行访问页面。也可以在命令行查看。
命令函查看
首先要导包
from student.models import Student
Student.objects.all() 会全部显示数据
从数据库中查询的结果一般是一个集合,这个集合叫做 Queryset
Queryset是可迭代对象
Queryset支持切片,的那部支持负索引
可以用list强行将Queryset变成一个list
我们delete() 方法进行删除。因为,之前设置的id是自增的,所以删除掉一个数据再增加的时候回跳过删除数据的id
下面附上一些相关的查询语句: