19 sqlite3基本操作 命令模式: sqlite3 数据文件名 显示所有表: .tables 查看表结构: .schema table_name 标准的sql语句: ddl dml 退出: .quit django中: engine: ..... backends.sqlite3 name :
20 记录操作 查询: Emp.objects.all() --- list item--recorder Emp.objects.get(条件) --- 单条记录返回 ,0, 多条 异常 删除: 单条记录删除:对象.delete() 多条记录删除: 对象s.delete()
21 admin使用:通过admin完成记录的增、删、改操作 urlConfig : from django.contrib import admin admin.autodiscover() url(r'^admin/', include(admin.site.urls)), settings: INSTALLED_APPS = ( 'django.contrib.admin', app/admin.py from django.contrib import admin from blog.models import Emp admin.site.register(Emp) python manager syncdb
22 admin用户创建 python manage.py createsuperuser
23 model class def __unicode__(self):
24 models.Field 作用: 1 DB中列类型 2 针对admin,对应html组件 3 数据验证 参数: 特定参数 通用参数: null blank choices default help_text primary_key unique verbose_name=u"中文提示" Automatic primary key fields¶ id = models.AutoField(primary_key=True)
25 admin中增加显示列 class EmpAdmin(admin.ModelAdmin): list_display = ['字段名',....] search_fields = ['字段名',.....] #字段---字符,文本 list_filter admin.py 中注册
26 db记录筛选: Emp.objects.filter(name='Alice', sex='f') select * from emp where name='Alice' and sex='f' order_by 升序 降序 修改默认的排序: 内部类: class Meta: ordering = ['字段名'] select .... limit 3,2 -->切片操作 Field FileField(upload_to=) filter ----->field_lookups 小结: all() get() order_by() filter(field_lookups)
27 表间关系: 1-1 n-1 n-m n-1 models.ForeignKey(表类对象) 1 使用admin完成数据的添加 2 代码中显示: 1 分类显示,(自上而下): filter() news = New.objects.filter(category=categrorys[0]) 2 确定分类(自下而上): new.category new.category_id
28 foreignkey 增 查询: all get filter exclude 删 改 1 获取单个对象, 修改字段属性, save() 2 多个对象(结果集)query_set update(字段属性=) 返回值:修改的记录数 增(foreignkey) 删(foreignkey) = None
29 定义了ManyToManyField ---Book author book b1 = Book() b1.name = 'aaa' b1.save() b1.authors ------- querySet 1 添加: add(author, ....) 2 删除: remove(author,...) --- 删除指定对象 clear() ---- 全部删除 b1.save() 查询: book.authors.all() .filter 反向查询(manytomanyfiled所参照的类实例): alen.book_set.all() .get .filter .exclude
30 form表单数据 request.GET HttpResponseRedirect() 注册 登录 转到主页 用户信息--models--User password -- md5 or sha1 birthday ---- date