django数据库操作
1. django中怎么动态操作数据库字段
django的ORM系统不支持修改删除字段的操作,也就是说你在写模型model文件的时候内,比如说定义了容这个user表,然后包含字段telphone定义,你一旦执行了manage.py syncdb 这个操作,就把表结构往数据库写死了,如果你之是删除了model文件的telphone,数据库是不被重新修改的。这个时候必须用原生SQL解决,也就是说自己写SQL语句让django执行,这样的话会出很多问题,也就是说你执行了alter table users drop column telphone之后,你的model文件不知道你已经对users表结构做了修改,这样会出直接导致django应用的崩溃。所以动态字段不好做。也可能是我才疏学浅,没太理解,也许有高人能做到。不过面对ORM这样的尽量别删除字段。
2. django怎么从数据库取数据
Django 拥有自己的ORM模块。
通俗来讲其过程如下:
在Django中写Python 代码
将Python代码通过ORM模块转换成SQL语句
通过类似pymysql等数据库操作模块,使用SQL语句,前往数据库访问数据
上述过程的反方向
获取Python格式的数据
3. Django数据库怎么增加数据
修改setting.py里面的DATABASES元组为
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'books', #你的数据库名称
'USER': 'root', #你的数据库用户名
'PASSWORD': '', #你的数据库密码
'HOST': '', #你的数据库主机,留空默认为localhost
'PORT': '3306', #你的数据库端口
}
}
INSTALLED_APPS = (
'books',#你的数据库名称
)
在mysql里面创建books数据库
检查配置是否有语法错误
使用python manage.py sqlall books 显示mysql语法
使用python manage.py syncdb同步模型中的数据库
创建成功!
4. 怎样知道django数据库有没有操作成功
一般来讲写操作失败会报异常,如果你实在觉得靠不住,可以去数据库里看一眼。
5. Django 有关数据库几个命令
创建复制project:
django-admin.py startproject myproject
创建APP:
python manage.py startapp myapp
启动server:
python manage.py runserver
python manage.py runserver 0.0.0.0:80
python manage.py makemigrations
python manage.py migrate
python manage.py runserver 0.0.0.0:8000
python manage.py createsuperuser
6. django怎么使用本机mysql数据库
step 1:
修改你的django project目录下的settings.py 文件至如下所示:
其中,'NAME' 对应的 ‘db_name' 是你事先使用mysql
的命令行提示符创建的数据库名称。注意:在django使用数据库之前,你必须先创建出数据库,否则会报错。'USER'对应的'username'
还有 'PASSWORD' 对应的‘passwd'
就是你在mysql中创建的用户名和密码。如果你有多个的话,随便填一个就好。'HOST'和'PORT'默认都可以不填。
题外话: 使用用户名和密码登录mysql的方法:
首先,你需要进入 mysql/bin的目录下,也可以在.bash_profile中设置环境变量:
PATH=/usr/local/bin:/usr/bin:/bin:/sbin:/usr/sbin:/usr/local/sbin:/usr/local/Cellar/mysql/5.6.22/bin/
再在prompt输入 mysql -u username -p, 回车后再输入 passwd即可
step 2:
然后,在manage.py路径中使用python manage.py syncdb 试试,结果会提示你错误找不到 MySQLdb 这个mole, 为什么呢, 因为 python manage.py syncdb 命令是这样工作的:
1. 在project目录的settings.py的INSTALLED_APPS元组中找到可能需要更新的APP。
2. 找到每一个APP目录中的models.py (关系定义文件),并针对变化在数据库中进行更新。
说了这么多,前面那个错误 找不到 mole MySQLdb 是什么意思啊 ?
先给个图,再解释:
因为在models.py中定义关系使用的是python,而真正在数据库中操作形成model当然一定要用sql语句,所以必须要有一些功能模块
来把python语句转化成sql语句。如果你使用sqlite的话,由于sqlite和转化模块都已经由python内置了,所以直接使用不会发生错
误。但是 ”mysql语句的转化模块“ 就需要你手动加载了,这些模块放在 MySQL-python 中。
我是使用pip 安装的:
安装了之后,再使用 python manage.py syncdb就OK啦。
我使用的系统是 OS X,下面是 mysql 默认的安装路径
/usr/local/Cellar/mysql/5.6.22/
如果你想知道你的数据库文件是放在哪里的,你可以查看mysql_config文件中的ldata变量,这个变量的值就是 默认的数据库文件夹存储的路径。 我的系统中,mysql_config的完整路径是 :
/usr/local/Cellar/mysql/5.6.22/bin/mysql_config
7. django数据库查询操作
1.get(**kwargs)
解释:返回与筛选条件相匹配的Model对象,返回结果有且只有一个。
说明:如果符合条件的对象多于一个抛出MultipleObjectsReturned异常,如果没有找到抛出DoesNotExist异常
语法:ModelName.objects.get(itemName=itemNameValue)
例子:Author.objects.get(id=1)
8. django怎么使用mysql数据库
方法/步骤
修改setting.py里面的DATABASES元组为
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'books', #你的数据库名称
'USER': 'root', #你的数据库用户名
'PASSWORD': '', #你的数据库密码
'HOST': '', #你的数据库主机,留空默认为localhost
'PORT': '3306', #你的数据库端口
}
}
INSTALLED_APPS = (
'books',#你的数据库名称
)
在mysql里面创建books数据库
检查配置是否有语法错误
使用python manage.py sqlall books 显示mysql语法
使用python manage.py syncdb同步模型中的数据库
创建成功!
9. 如何使用django的数据库链接
可以啊。不过要手工写了。在配置里将数据库路径放进去。然后在mole里,自己选择相应的库与相应的model做关联。
此外还可以指定表格中的字段名。另外如果上面的方法不好用,你也可以自己直接连接数据库,自己管理。
django的数据库连接是没有连接池的。 每次访问都连接一次,效率低。不过你也可以用同样的原理 ,用mysqldb之类的库,自己建立数据库连接。
10. 如何独立使用django的数据库访问功能
1. 安装Django
[plain] view plain
cd Django-1.4
python setup.py install
2. 安装postgresql的客户端:
[plain] view plain
sudo apt-get install -y postgresql-client-9.1 python-psycopg2
3. 新建project:
[plain] view plain
django-admin.py startproject myproject
4. 在myproject下新建app:
[plain] view plain
python manage.py startapp myapp
4. 新增环境变量:
编辑/etc/profile文件,在末尾加入以下语句:
[plain] view plain
<span style="color:#FF0000;"> export PYTHONPATH=$PYTHONPATH:/home/yc/src/myproject
export DJANGO_SETTINGS_MODULE=myproject.settings</span>