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>