- 浏览: 652731 次
- 性别:
- 来自: 淮安
文章分类
- 全部博客 (260)
- Java (0)
- vim (9)
- python (86)
- AdobePDF (2)
- mysql (10)
- Emacs (12)
- JavaScript (18)
- postgresql (2)
- windows (4)
- Eclipse (1)
- debian (4)
- 浏览器 (2)
- html (1)
- rhel (1)
- Linux (4)
- SVN (2)
- Ruby (30)
- ERP (8)
- my_linux_config (2)
- C++ (2)
- CentOS (5)
- Ubuntu (12)
- httpd (3)
- nginx (1)
- CSS (1)
- Agile (1)
- C (3)
- Redmine (2)
- 面试题 (1)
- 收集 (7)
- 架构 (1)
- 服务器 (2)
- logarithms (1)
- 数学 (1)
最新评论
-
hymzjsw:
python 变量命名规范 -
IWSo:
...
mysql #1170错误(42000) BLOB/TEXT Column Used in Key Specification Without a Key Le -
wl59138528:
由于Python臭名昭著的GIL问题,OpenERP 6.1以 ...
OpenERP 部署环境使用说明 -
greybeard:
xiaoyao3857 写道怎么看着一大堆,似乎中间有些东西重 ...
python 变量命名规范 -
xiaoyao3857:
怎么看着一大堆,似乎中间有些东西重复说了吧
python 变量命名规范
1. models.py
2. 模型安装
$ vim settings.py
修改INSTALLED_APPS为:
修改MIDDLEWARE_CLASSES为:
INSTALLED_APPS告诉Django项目哪些app处于激活状态。
3. 创建数据库:
$ python manage.py validate # 校验模型的有效性
$ python manage.py sqlall books # 生成CREATE TABLE语句
# 这里的books是app的名称,和运行manage.py startapp 中的一样
$ python manage.py syncdb # 同步模型到数据库
4. 基本数据访问:
一旦创建了模型, Django自动为这些模型提供了高级的Python API。
$ python manage.py shell
上述代码等价于:
更新(update):
数据过滤
数据过滤(包含性查找)
其他的一些查找类型有: icontains(大小写无关的LIKE), startswith 和
endswith, 还有range(SQL BETWEEN查询)
获取单个对象:
数据排序:
修改代码,提供默认排序:
连锁查询:
限制返回的数据:(只取出一个)
Django不支持Python的负索引,但是可以用以下取代:
更新多个对象:
上面的save()方法更新了不仅仅是name列的值,还更新了所有的列。
更改某一指定的列,可以调用结果集(QuerySet)对象的update()方法:
同时,更新多条记录:
删除对象:
from django.db import models class Publisher(models.Model): name = models.CharField(max_length=30) address = models.CharField(max_length=50) city = models.CharField(max_length=60) state_province = models.CharField(max_length=50) website = models.URLField() def __unicode__(self): return self.name class Author(models.Model): first_name = models.CharField(max_length=30) last_name = models.CharField(max_length=40) email = models.EmailField() def __unicode__(self): return u'%s%s'% (self.first_name, self.last_name) class Book(models.Model): title = models.CharField(max_length=100) authors = models.ManyToManyField(Author) publisher = models.ForeignKey(Publisher) publication_date = models.DateField() def __unicode__(self): return self.title
2. 模型安装
$ vim settings.py
修改INSTALLED_APPS为:
INSTALLED_APPS = ( 'mysite.books', )
修改MIDDLEWARE_CLASSES为:
MIDDLEWARE_CLASSES = ( )
INSTALLED_APPS告诉Django项目哪些app处于激活状态。
3. 创建数据库:
$ python manage.py validate # 校验模型的有效性
$ python manage.py sqlall books # 生成CREATE TABLE语句
# 这里的books是app的名称,和运行manage.py startapp 中的一样
$ python manage.py syncdb # 同步模型到数据库
4. 基本数据访问:
一旦创建了模型, Django自动为这些模型提供了高级的Python API。
$ python manage.py shell
>>> from books.models import Publisher >>> p1 = Publisher(name='Apress', address='2855 Telegraph Avenue', ... city='Berkeley', state_province='CA', ... website='http://www.apress.com/') >>> p1.save() # 存进数据库 >>> p2 = Publisher(name='Thk', address='2855 Telegraph Avenue', ... city='Berkeley', state_province='CA', ... website='http://www.apress.com/') >>> p2.save() >>> publisher_list=Publisher.objects.all() >>> publisher_list
上述代码等价于:
>>> from books.models import Publisher >>> p1 = Publisher.objects.create(name='Apress', ... address='2855 Telegraph Avenue', ... city='Berkeley', state_province='CA', ... website='http://www.apress.com/') >>> p2 = Publisher.objects.create(name='Thk', ... address='2855 Telegraph Avenue', ... city='Berkeley', state_province='CA', ... website='http://www.apress.com/') >>> publisher_list=Publisher.objects.all() >>> publisher_list
更新(update):
>>> p2.name='Thinking' >>> p2.save() >>> p2
数据过滤
>>> Publisher.objects.filter(name='Thinking')
数据过滤(包含性查找)
>>> Publisher.objects.filter(name__contains='Thin')
其他的一些查找类型有: icontains(大小写无关的LIKE), startswith 和
endswith, 还有range(SQL BETWEEN查询)
获取单个对象:
>>> Publisher.objects.get(name="Apress")
数据排序:
>>> Publisher.objects.order_by('name')
修改代码,提供默认排序:
from django.db import models class Publisher(models.Model): name = models.CharField(max_length=30) address = models.CharField(max_length=50) city = models.CharField(max_length=60) state_province = models.CharField(max_length=50) website = models.URLField() def __unicode__(self): return self.name class Meta: ordering = ['name']
连锁查询:
>>> Publisher.objects.filter(city='Berkeley').order_by("-name")
限制返回的数据:(只取出一个)
>>> Publisher.objects.order_by('name')[0] or >>> Publisher.objects.order_by('name')[0:1]
Django不支持Python的负索引,但是可以用以下取代:
>>> Publisher.objects.order_by('-name')[0]
更新多个对象:
>>> p = Publisher.objects.get(name='Apress') >>> p.name = 'Apress Publishing' >>> p.save()
上面的save()方法更新了不仅仅是name列的值,还更新了所有的列。
更改某一指定的列,可以调用结果集(QuerySet)对象的update()方法:
>>> Publisher.objects.filter(id=1).update(name='Apress')
同时,更新多条记录:
>>> Publisher.objects.all().update(address='Hotel')
删除对象:
>>> p2 = Publisher.objects.get(name='Thinking') >>> p2.delete()
>>> Publisher.objects.filter(address='Hotel').delete()
>>> Publisher.objects.all().delete()
发表评论
-
列表解析和生成器表达式
2012-06-06 08:14 1458列表解析: 括在方括号 >& ... -
Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
2012-03-06 22:10 59336转自: http://www.jb51.net/article ... -
Django Meta内部类选项
2012-03-06 00:13 1633转自:http://www.onepub.net/2012/0 ... -
python --- locals()函数
2012-03-02 12:21 1488>>> help(locals) Hel ... -
python __file__ 与相对路径
2012-03-02 11:45 1499转自:http://taoyh163.blog.163.com ... -
python最常用函数
2012-03-02 10:51 6600转自:http://blog.163.com/yang ... -
Python ---- 处理Excel
2012-02-25 12:17 15551. Ubuntu下相关的库的安装: $ sudo ap ... -
python --- Python中的callable 函数
2012-02-25 11:41 8384转自: http://archive.cnblogs. ... -
Python --- __call__ (可调用对象)
2012-02-25 11:41 2161转自: http://hi.baidu.com/feng221 ... -
Python---很强悍的property,绝对的强大
2012-02-25 11:41 28898转自:http://www.cnblogs.com/lovem ... -
什么是po文件?
2012-02-25 11:40 2374转自: http://hi.baidu.com/gre ... -
Python----很强悍的API
2012-02-21 15:26 6981. Python 自带的 gettext 标准模块 & ... -
python ---- 包中的__init__.py具体用法
2012-02-21 10:51 2497The __init__.py files are requi ... -
Python ---- 各种包的收集
2012-02-21 10:52 9961. psutil 是一个 Python模块用来获取正 ... -
Python---我还不知道的寻找他用法的地方
2012-02-21 10:52 9921. exec exec('xx') 可以直接执行xx ... -
Python ---- Sets
2012-02-20 13:06 938Python also includes a data typ ... -
Python---Tuple special characteristics
2012-02-20 10:27 1104A special problem is the constr ... -
python 如此灵活的使用filter, map, reduce, sum
2012-02-18 12:22 2677Functional Programming Tools T ... -
Python表示队列
2012-02-18 11:57 1229It is also possible to use a li ... -
这么酷的lambda用法
2012-02-18 11:12 1043Lambda Forms By popular demand ...
相关推荐
Django模型通常在应用的`models.py`文件中定义。每个模型是一个Python类,继承自内置的`django.db.models.Model`基类。例如: ```python from django.db import models class Article(models.Model): title = ...
luojilab-django-mirage-field-5d96836是一个这样的库,它提供了一种简单的方法来加密Django模型的字段。通过这个库,我们可以在保存到数据库之前自动加密数据,在从数据库读取后自动解密。这样,即使数据库被非法...
### Django模型(Models) **1. 模型的概念** Django模型是数据库交互的主要接口,它定义了数据库表的结构,包括字段类型、验证规则等。通过创建一个Python类,我们可以声明模型,并自动地生成数据库迁移,从而...
本文实例讲述了django框架模型层功能、组成与用法。分享给大家供大家参考,具体如下: Django models是Django框架自定义的一套独特的ORM技术。 使用该层开发的首要任务就是定义模型类以及属性。每个模型都可以被映射...
首先,Django模型是Python类,它们继承自`django.db.models.Model`基类。模型中的每个类属性都代表数据库表中的一个字段。例如,假设我们有一个`User`模型,可以这样定义: ```python from django.db import models...
django-wham, REST api伪装为 Django ORM模型 wham作为 Django ORM模型的 REST api使用 django-wham,你可以按照查询 Django 模型的方式来查询 REST api:>>> artist = SpotifyArtist.
**Django 模型专题笔记** 在 Django 中,模型(Model)是数据库的抽象层,它是数据结构的主要定义部分,负责描述应用中的数据以及数据的行为。本笔记将深入探讨 Django 模型的各个方面,帮助你更好地理解和运用这一...
django-swappable-models, 交换非官方 Django 可以交换模型 API 交换交换模式- 不再只用于 auth.User !swap是一个非正式的API,用于文档,但它具有强大的功能: 可以交换模型。交换器便于在你自己的可以重用应用...
接下来,我们可以像操作常规Django模型一样操作这些动态模型。例如,创建、查询、更新和删除数据: ```python # 创建数据 table1_instance = Table1(common_field='data1') table1_instance.save() # 查询数据 ...
基于django垃圾邮件分类多种模型在线部署页面展示源码+说明文档.zip基于django垃圾邮件分类多种模型在线部署页面展示源码+说明文档.zip基于django垃圾邮件分类多种模型在线部署页面展示源码+说明文档.zip基于django...
django-modeltranslation, 使用注册方法翻译 Django 模型 Modeltranslationmodeltranslation应用程序用于将现有 Django 模型的动态内容转换为任意数量的语言,而不必更改原始模型类。 它使用注册方法( 与 Django ...
基于Django构建在线文本分类预测系统代码、模型、数据集:SVM模型在线预测与部署 基于 Django 3.2 框架,参考博客:https://blog.csdn.net/wangyaninglm/article/details/116334297
Django:Django模型设计与数据库操作.docx
"Django模型与数据库"这个主题是Django核心概念中的关键部分,主要涉及如何通过Django来设计、操作和管理数据库。在这个主题中,我们将深入探讨Django模型的定义、数据库操作以及与数据库的交互方式。 首先,Django...
django模型models中常用字段和参数
本文将深入探讨如何轻松整合Django模型的常见行为,以提升开发效率和应用的可维护性。 首先,让我们了解Django模型。在Django中,模型(Model)是数据库表的抽象层,用于定义数据结构和业务逻辑。通过在模型类中...
Django_模型_文件上传,关联关系__SQLToModel
Django是由两位美国开发者在2005年创建的开源项目,它遵循MVC(模型-视图-控制器)设计模式,但更倾向于MTV(模型-模板-视图)架构。Django的核心组件包括ORM(对象关系映射)、数据库路由系统、强大的表单处理和...
django-fernet-fields, Django 模型字段的Fernet对称加密 django-fernet-fields Fernet 用于 Django 模型字段的对称加密,使用库。在 python 。3.3 。3.4.3.5.3.6.pypy和pypy3上,django-fernet-fiel