django 基本数据操作

Edit

假设在models.py有了这样一个类

from django.db import models
# Create your models here.
from django.db import models
class People(models.Model):
id = models.AutoField(primary_key=True, null=False)
name = models.CharField(max_length=20, null=False)
sex = models.CharField(max_length=16, null=False)
year = models.IntegerField(max_length=16, null=False)
job = models.CharField(max_length=16, null=False)

主要有三个函数filter(), get(),all()

all()

用法最为简单,models.People.objects.all()返回一个可迭代对象,使用事例:

people_list = models.People.objects.all()
for people in people_list:
print(people.id)
print(people.name)
print(people.sex)
print(people.year)
print(people.job)
即可遍历所有的数据
filter()

也是返回一个可迭代对象,models.People.objects.filter(sex='男')可筛选出性别为男的所有人。

get()

返回一个不可迭代对象,models.People.objects.filter(sex='男')如何有多名男性会报错,如果找不到男性也会报错,只能筛选出唯一存在的一个,应该是找主键的,例如

#找id为1的人的所有信息
people = models.People.objects.filter(id='1')
print(people.sex)
print(people.year)

其实这个还有很多的用法,只列举三种了。

%u5047%u8BBE%u5728models.py%u6709%u4E86%u8FD9%u6837%u4E00%u4E2A%u7C7B%0A%60%60%60%0Afrom%20django.db%20import%20models%0A%23%20Create%20your%20models%20here.%0Afrom%20django.db%20import%20models%0Aclass%20People%28models.Model%29%3A%0A%20%20%20%20id%20%3D%20models.AutoField%28primary_key%3DTrue%2C%20null%3DFalse%29%0A%20%20%20%20name%20%3D%20models.CharField%28max_length%3D20%2C%20null%3DFalse%29%0A%20%20%20%20sex%20%3D%20models.CharField%28max_length%3D16%2C%20null%3DFalse%29%0A%20%20%20%20year%20%3D%20models.IntegerField%28max_length%3D16%2C%20null%3DFalse%29%0A%20%20%20%20job%20%3D%20models.CharField%28max_length%3D16%2C%20null%3DFalse%29%0A%60%60%60%0A%u4E3B%u8981%u6709%u4E09%u4E2A%u51FD%u6570%60filter%28%29%60%2C%20%60get%28%29%60%2C%60all%28%29%60%0A%0A%23%23%23%23%23all%28%29%0A%u7528%u6CD5%u6700%u4E3A%u7B80%u5355%uFF0C%60models.People.objects.all%28%29%60%u8FD4%u56DE%u4E00%u4E2A%u53EF%u8FED%u4EE3%u5BF9%u8C61%uFF0C%u4F7F%u7528%u4E8B%u4F8B%uFF1A%0A%60%60%60%0Apeople_list%20%3D%20models.People.objects.all%28%29%0Afor%20people%20in%20people_list%3A%0A%09print%28people.id%29%0A%09print%28people.name%29%0A%09print%28people.sex%29%0A%09print%28people.year%29%0A%09print%28people.job%29%0A%60%60%60%0A%u5373%u53EF%u904D%u5386%u6240%u6709%u7684%u6570%u636E%0A%23%23%23%23%23filter%28%29%0A%u4E5F%u662F%u8FD4%u56DE%u4E00%u4E2A%u53EF%u8FED%u4EE3%u5BF9%u8C61%uFF0C%60models.People.objects.filter%28sex%3D%27%u7537%27%29%60%u53EF%u7B5B%u9009%u51FA%u6027%u522B%u4E3A%u7537%u7684%u6240%u6709%u4EBA%u3002%0A%23%23%23%23%23get%28%29%0A%u8FD4%u56DE%u4E00%u4E2A%u4E0D%u53EF%u8FED%u4EE3%u5BF9%u8C61%uFF0C%60models.People.objects.filter%28sex%3D%27%u7537%27%29%60%u5982%u4F55%u6709%u591A%u540D%u7537%u6027%u4F1A%u62A5%u9519%uFF0C%u5982%u679C%u627E%u4E0D%u5230%u7537%u6027%u4E5F%u4F1A%u62A5%u9519%uFF0C%u53EA%u80FD%u7B5B%u9009%u51FA%u552F%u4E00%u5B58%u5728%u7684%u4E00%u4E2A%uFF0C%u5E94%u8BE5%u662F%u627E%u4E3B%u952E%u7684%uFF0C%u4F8B%u5982%0A%60%60%60%0A%23%u627Eid%u4E3A1%u7684%u4EBA%u7684%u6240%u6709%u4FE1%u606F%0Apeople%20%3D%20models.People.objects.filter%28id%3D%271%27%29%0Aprint%28people.sex%29%0Aprint%28people.year%29%0A%60%60%60%0A%u5176%u5B9E%u8FD9%u4E2A%u8FD8%u6709%u5F88%u591A%u7684%u7528%u6CD5%uFF0C%u53EA%u5217%u4E3E%u4E09%u79CD%u4E86%u3002%0A%0A

猜你喜欢

转载自www.cnblogs.com/liuqiyu/p/10316171.html