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 父循环的属性值(对于嵌套循环)

 

 

 

 

你可能感兴趣的:(Django开发)