常用字段

AutoField:映射到数据库中是int类型,可以有自动增长的特性。

BigAutoField:64位的整形,类似于AutoField

BooleanField:在模型层面接收的是True/False

CharField: 在数据库层面是varchar类型。

DateField:日期类型。

DateTimeField:日期时间类型,类似于DateField。不仅仅可以存储日期,还可以存储时间。

TimeField:时间类型。

EmailField:类似于CharField

FileField:用来存储文件的。

ImageField:用来存储图片文件的。

FloatField:浮点类型。映射到数据库中是float类型。

IntegerField:整形。

PositiveIntegerField:正整形。

SmallIntegerField:小整形。

PositiveSmallIntegerField:正小整形。

UUIDField:只能存储uuid格式的字符串。

URLField:类似于CharField,只不过只能用来存储url格式的字符串。并且默认的max_length是200

常用参数

null:用来标识字段是否可以为空.

blank:与null类似, 这个和null是有区别的,null是一个纯数据库级别的。而blank是表单验证级别的。

db_column:改变这个字段在数据库中的名字。

default:默认值。

primary_key:是否为主键。默认是False

unique:在表中这个字段的值是否唯一。

创建模型的步骤

第一步 构造数据库表

class Person(models.Model):

name = models.CharField(max_length=30)

age = models.IntegerField()

第二步 生成表结构,迁移数据

python manage.py makemigrations

python manage.py migrate

第三步 在控制器操作

进入交互模式

python manage.py shell

导入数据库表

from app.models import Person

存入数据

Person.objects.create(name=“zyy", age=18)

查看数据

Person.objects.all()

注意: 字段中不能有 __(双下划线,因为在Django QuerySet API中有特殊含义)

新建对象

1.Person.objects.create(name=name,age=age)

2.p = Person(name="WZ", age=23)

p.save()

3.p = Person()

p.age = 23

p.save()

4.Person.objects.get_or_create(name="WZT", age=23)

获取对象

1.Person.objects.all()****#获得全部对象

2. Person.objects.all()[:10] #切片操作,获取10个人,不支持负索引,切片可以节约内存

3. Person.objects.get(name=name) #get是用来获取一个对象的

4.filter筛选

Person.objects.filter(name="abc") # 等于Person.objects.filter(name__exact="abc") 名称严格等于 "abc" 的人

Person.objects.filter(name__iexact="abc") # 名称为 abc 但是不区分大小写,可以找到 ABC, Abc, aBC,这些都符合条件

Person.objects.filter(name__contains="abc") # 名称中包含 "abc"的人

Person.objects.filter(name__icontains="abc") #名称中包含 "abc",且abc不区分大小写

Person.objects.filter(name__regex="^abc") # 正则表达式查询

Person.objects.filter(name__iregex="^abc") # 正则表达式不区分大小写

5.filter排除

Person.objects.exclude()

创建站点

创建站点(超级管理员)

1.python manage.py createsuperuser

2.按提示输入用户名、邮箱、密码

注意:django从1.9版本开始对密码进行了限制, 长度不能少于8个字符, 外国人的名字以及一些简单密码做了限制.

外键

外键通过ForeignKey(to,on_delete,\**options)来实现。

第一个参数是引用的是哪个模型

第二个参数是在使用外键引用的模型数据被删除了,这个字段该如何处理

数据库fd_tagdesp是什么意思 数据库field是什么意思_bc

数据库fd_tagdesp是什么意思 数据库field是什么意思_bc

读取数据

数据库fd_tagdesp是什么意思 数据库field是什么意思_bc