Django model数据类型,字段属性,model增删改查操作,html 循环

FBV & CBV

FBV:function base views

CBV:Class base views 

Django ORM操作:

在models.py中创建类来生成表结构,这个类需要继承models.Moudel.

运行python manage.py migrations、python manage.py migrate 来执行生成表结构。

Django数据类型

字符串类型 models.CharFiled()、models.URLFiled .....

数值类型   models.IntegerFiled() 、models.BigIntegerFiled()

时间类型  models.DateFiled()、models.TimeFiled()、models.DateTimeFiled()

二进制

Django字段属性

                        primary_key   -> 主键

                        null               -> db是否可以为空
default            -> 默认值
primary_key        -> 主键
db_column          -> 列名
db_index           -> 索引
unique   -> 唯一索引
unique_for_date    -> 
unique_for_month
unique_for_year
auto_now           -> 创建时,自动生成时间
auto_now_add       -> 更新时,自动更新为当前时间

# obj = UserGroup.objects.filter(id=1).update(caption='CEO')
# obj = UserGroup.objects.filter(id=1).first()
# obj.caption = "CEO"
# obj.save()

choices  -> django admin中显示下拉框,避免连表查询
blank             -> django admin是否可以为空
verbose_name      -> django admin显示字段中文
editable          -> django admin是否可以被编辑
error_messages    -> 错误信息
help_text         -> django admin提示
validators  -> django form ,自定义错误信息

 

创建 Django 用户:python manage.py createsuperuser

 

增加数据:models.UserInfo.objects.create(username = ' ',password = ' ')

删: models.UserInfo.object.filter().delect()

改: models.UserInfo.object.filter().update()

查:(输入均可以为字典,返回值类型为QuerySet)

         models.UserInfo.object.filter(username = ' ',age = ' ')   --> 等于

         models.UserInfo.object.filter(age__gt = 2) --> 大于

         models.UserInfo.object.filter(age__lt = 2)  --> 小于

         models.UserInfo.object.filter(age__gte = 2) -->大于等于

         models.UserInfo.object.filter(age__lte =2) -->小于等于

         models.UserInfo.object.all() 获取所有数据, 内部元素为对象

         models.UserInfo.object.all().values() 获取所有数据,内部元素为字典

         models.UserInfo.object.all().values_list() 获取所有数据,内部元素为元组

         models.UserInfo.object.get() 获取一个对象(有可能报错)

         moldes.UserInfo.object.filter().first() 获取一个对象(不会报错)

外键: models.ForginKey('表名称','字段名称') 默认和表中主键进行关联

         models.Host.objects.filter(nid__gt=0).values('nid','hostname','b_id','b__caption')(Tips: __ 在这里跨表操作)

创建多对多关系:

a.自定义关系表

b.自动创建关系表    r = models.ManyToManyField("Host")

HTML 中的循环

forloop.counter  计数

forloop.counter0 从0开始计数

forloop.revcounter 倒序

forloop.revcounter0  倒序到0 

forloop.last 是否是最后一个循环

forloop.first 是否是第一个循环

forloop.parentloop 父循环的属性值(对于嵌套循环)

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值