版本声明:转载请注明出处。未经允许,禁止商业用途。
使用Python Django开发web应用 模型和数据库
----刘一凡
数据库配置
Django支持很多数据库,官方支持PostgreSQL、 MySQL、SQLite、Oracle,通过第三方数据库backend可以支持其他数据库,比如DB2、SQL server。
对于开发环境,建议直接使用SQLite。SQLite直接将数据库存储为操作系统中的一个文件。如果需要使用其它数据库。则在settings.py中修改字典变量DATABASES的内容。缺省配置为使用SQLite。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
创建的数据文件为D:\django\web\db.sqlite3
创建数据库
缺省安装了一些django内置的应用admin、auth、sessions,这些功能需要数据库支持。
D:\django\web> python manage.py migrate创建数据库文件及相关的表。
创建模型
在models.py中已有, from django.db import models,再添加
class Blog(models.Model):
#CharField是field type,参数是field option
head=models.CharField(max_length=100)
#TextField长度是无限的,CharField是定长的
content=models.TextField()
timestamp=models.DateTimeField()
#Meta是内置的知名类,用来在model中定义metadata options
#matadata是一个一般性术语,指用来描述数据属性(property)的信息
class Meta:
#获取对象列表时以创建时间降序排列,没有负号则以升序排列,?表示随机顺序
ordering = ('-timestamp',)
生成表
生成migration文件
D:\django\web> python manage.py makemigrations
应用migration文件,生成数据库中的表
D:\django\web> python manage.py migrate
数据库中表的字段名依次是id、head、content、timestamp