django学习笔记(模型)

来源:互联网 发布:工程控制系统仿真软件 编辑:程序博客网 时间:2024/04/29 01:28

原文:http://www.djangobook.com/en/2.0/chapter05.html


python 1.6.5已验证:

纪要:

   1. 使用 python  manage.py startapp 模块名 来创建模块(应用),模块具有可复用性)

   2. 模型(model)必须要在模块(app)中

       模型的定义,至少需要定义字段。 通常还需要定义  __unicode__方法,用于提供记录的说明。

   3. 模型到数据库的映射:

        python manage.py validate  (检查模型是否有语法错误)

        python  manage.py sqlall 模块(将模型转化为sql语句)

        python manage.py syncdb (将模型同步到数据库)

  4. 数据库的配置(setting.py)

DATABASES = { 'default': { 'ENGINE': 'django.db.backends.', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. 'NAME': '', # Or path to database file if using sqlite3. 'USER': '', # Not used with sqlite3. 'PASSWORD': '', # Not used with sqlite3. 'HOST': '', # Set to empty string for localhost. Not used with sqlite3. 'PORT': '', # Set to empty string for default. Not used with sqlite3. }}



注意mysql的配置有点特殊,

'HOST': '/var/run/mysql',


5. 模型api(继承自 django.db.models.Model)

select:  

 1). 模型类.objects.all()

 2). 模型类.objects.filter(字段[__操作] = ’目标字符串'),其中 [__操作]是可选的,操作包括这些值:contains,icontains,startswith,endswith,range

       

create :  模型实例.save()

delete:

 1). 模型实例.delete()

 2).QuerySet.delete() , eg. 模型类.objects.all().delete() / 模型类.objects.filter(过滤条件).delete()


update:

1). 先得到模型实例,然后save(更新所有字段)

2). 基于queryset操作(只更新目标字段)

     模型类.objects.all().update(字段=新值)


排序:

  1) 模型类.objects.order_by(字段) ,默认升序排序,若要降序则用:模型类.objects.order_by(-字段), 即在字段前面加中划线。

  2) 添加Meta的内部类,并指定ordering属性(eg. ordering='字段')

排序后的切片(不支持负数,即逆向定位)


转载请注明来自:http://blog.csdn.net/lion_awake/article/details/37759173

谢谢

0 0
原创粉丝点击