Login
网站首页 > 文章中心 > 其它

Python的Django框架可适配的各种数据库介绍

作者:小编 更新时间:2023-08-16 13:42:42 浏览量:275人看过

本文将详细讲解Python的Django框架可适配的各种数据库介绍,包括可适配的数据库类型、如何配置、常用API等.同时,本文还包含两条示例说明,以帮助开发者更好地了解Django框架与数据库交互的过程.

可适配的数据库类型

Django框架支持多种不同的数据库类型,包括:

PostgreSQL

MySQL

SQLite

Oracle

Microsoft SQL Server

通过配置settings.py文件中的DATABASES变量,可以轻松切换不同的数据库类型.例如:


DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.postgresql_psycopg2',
    'NAME': 'mydatabase',
    'USER': 'mydatabaseuser',
    'PASSWORD': 'mypassword',
    'HOST': 'localhost',
    'PORT': '',
}
}


如何配置

首先,在安装Django框架后,需要在settings.py文件中进行数据库的配置.DATABASES变量是Django框架与数据库交互的核心变量,它包括了多个数据库连接信息(可以设置多个数据库连接).

具体配置参数如下:

NAME: 数据库ID.

USER: 数据库用户名.

PASSWORD: 数据库密码.

HOST: 数据库主机地址.默认为 localhost.

PORT: 数据库端口号.

示例代码:


DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.postgresql_psycopg2',
    'NAME': 'mydatabase',
    'USER': 'mydatabaseuser',
    'PASSWORD': 'mypassword',
    'HOST': 'localhost',
    'PORT': '',
}
}


当DATABASES配置完成后,使用以下Python代码即可创建Django ORM层的数据表:


python manage.py migrate


常用API

Django框架提供了丰富的API,使用这些API可以轻松进行数据库操作.以下是常用的API:

创建对象


from myapp.models import MyModel

new_obj = MyModel.objects.create(name='John', age=20)


读取对象


from myapp.models import MyModel

obj = MyModel.objects.get(id=1)


更新对象


from myapp.models import MyModel

obj = MyModel.objects.get(id=1)
obj.name = 'Tom'
obj.save()


删除对象


from myapp.models import MyModel

obj = MyModel.objects.get(id=1)
obj.delete()


示例说明

以下两个示例将展示Django框架与PostgreSQL和MongoDB数据库的交互过程.

示例1:PostgreSQL


DATABASES = {
  'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'mydatabase',
'USER': 'mydatabaseuser',
'PASSWORD': 'mypassword',
'HOST': '12⑦0.0.1',
'PORT': '5432',
  }
}


接着,在models.py文件中定义模型:


from django.db import models

class MyModel(models.Model):
  name = models.CharField(max_length=100)
  age = models.IntegerField(default=0)


然后,在命令行中使用以下命令创建表:


python manage.py migrate


现在可以在Python的交互式环境中,使用API与PostgreSQL进行数据交互:


In [2]: from myapp.models import MyModel

In [3]: new_obj = MyModel.objects.create(name='John', age=20)

In [4]: obj = MyModel.objects.get(id=1)

In [5]: obj.name, obj.age
Out[5]: ('John', 20)

In [6]: obj.name = 'Tom'

In [7]: obj.save()

In [8]: obj.delete()


示例2:MongoDB

首先,需要安装Python下的pymongo库,并配置DATABASES变量:


DATABASES = {
  'default': {
'ENGINE': 'django_mongodb_engine',
'NAME': 'mydatabase',
'USER': '',
'PASSWORD': '',
'HOST': '12⑦0.0.1',
'PORT': '27017',
  }
}


接着,我们需要在models.py文件中定义模型:


from djangotoolbox.fields import ListField
from django.db import models

class MyModel(models.Model):
  name = models.CharField(max_length=100)
  age = models.IntegerField(default=0)
  tags = ListField()


注意,在使用MongoDB时需要将模型中的ListField替换为djangotoolbox.fields.ListField.

此时此刻呢,在命令行中使用以下命令创建表:


python manage.py syncdb


现在可以在Python的交互式环境中,使用API与MongoDB进行数据交互:


In [2]: from myapp.models import MyModel

In [3]: new_obj = MyModel(name='John', age=20, tags=['tag1'])

In [4]: new_obj.save()

In [5]: obj = MyModel.objects.get(id=new_obj.id)

In [6]: obj.name, obj.age
Out[6]: ('John', 20)

In [7]: obj.tags
Out[7]: ['tag1']

In [8]: obj.tags.append('tag2')

In [9]: obj.save()

In [10]: obj.delete()


以上就是土嘎嘎小编为大家整理的Python的Django框架可适配的各种数据库介绍Python的Django框架可适配的各种数据库介绍相关咨询咨询主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章