您的位置:首页 > 编程语言 > Go语言

django学习笔记(模型)

2014-07-14 13:45 232 查看
原文: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

谢谢
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: