① django orm創建數據表
Django裡面,管理資料庫和sqlarchemy類似,也是通過orm框架來實現的。所有的資料庫的建立,都是在model.py裡面通過類來實現的。
首先看看如何創建一個單表:
a. 先定義一個類,繼承models.Model, 然後根據需求定義參數,這些參數的類型和變數後面會進一步闡述
models.py
fromdjango.dbimportmodels
classUserInfo(models.Model):
username=models.CharField(max_length=32)
password=models.CharField(max_length=64)
b. 注冊app
settings.py
INSTALLED_APPS=[
『django.contrib.admin『,
『django.contrib.auth『,
『django.contrib.contenttypes『,
『django.contrib.sessions『,
『django.contrib.messages『,
『django.contrib.staticfiles『,
『app01『,
]
c.執行命令。 第一條命令會生成一個初始化文件,第二個命令會生成對應的表
pythonmanage.pymakemigrations
pythonmanage.pymigrate
2. 對於單表的增刪改查詢
查詢
獲取所有結果,獲取到的結果是一個QuerySet的類似列表的對象,每一個元素本身又是一個對象,包括了id,name,password等屬性。
obj=models.UserInfo.objects.all()
<QuerySet [<UserInfo: UserInfo object>, <UserInfo: UserInfo object>, <UserInfo: UserInfo object>, <UserInfo: UserInfo object>, <UserInfo: UserInfo object>]>
可以通過filter進行過濾,相當於sql的where語句,因為結果也是QuerySet,因此需要再使用first()獲取第一個值
obj=models.UserInfo.objects.filter(id=nid).first()
增加
models.UserInfo.objects.create(username=u,password=p,user_group_id=3)
刪除,可以在filter的基礎上進行刪除
models.UserInfo.objects.filter(id=nid).delete()
修改,有兩種常見方式
第一個方式
models.UserInfo.objects.filter(id=nid).update(username=u,password=p)
第二個方式
obj=models.UserInfo.objects.filter(id=nid)
obj.username=u
obj.save()
② 在django里使用form向資料庫寫數據
django book 2.0裡面有詳細的介紹,你這個需求比他的例子還簡單
③ django如何將excel表格導入oracel資料庫
1.選中excel文件中需要的部分,ctrl+c2.打開illustrator,新建文件(大一點),ctrl+v3.在illustrator裡面,各部分是分開的,文字是文字,表格是表格。4.打開ps,直接將illustrator的內容拖拽到ps里,形成矢量智能圖形(任意放大,不失真,貌似不能編輯)5.大功告成!本人試過覺得這個辦法可行,所以親自總結後與網友分享。
④ python編程--django框架,想要添加一個表進到資料庫里
代碼部分:
fromdjango.dbimportmodels
classStudent(models.Model):
name=models.CharField(max_length=30)
grade=models.IntegerField()
執行部分 :
python manage.py makemigrations
python manage.py migrate
⑤ django 怎麼將表單上的數據寫到資料庫里
首先,在views中需要判斷你的form合不合法(不合法請查看InputForm與輸入的是否符合),可以在if form.is_valid():並列的地方添加一個else,print form看看,可以類似form.company.errors.其實如果合法要存到資料庫中,你的model方法有問題,一般是add_input=Input(xx=xx,xx=xx)
add_input.save()
或者Input.objects.create(xx=xx=,xx=xx)#並不需要賦值,和調用save()方法,因為create內部有調用save方法
⑥ 如何將django orm模型 寫入資料庫
1、指定連接pymysql(python3.x)
先配置_init_.py
import pymysql
pymysql.install_as_MySQLdb()
2、配置連接mysql文件信息
settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'django_orm', #你的資料庫名稱
'USER': 'root', #你的資料庫用戶名
'PASSWORD': '', #你的資料庫密碼
'HOST': '', #你的資料庫主機,留空默認為localhost
'PORT': '3306', #你的資料庫埠
}
}
3、在mysql資料庫中,創建資料庫。
mysql> create database Django_ORM character set utf8;
Query OK, 1 row affected (0.01 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| abc |
| crm |
| django_orm |
| mysql |
| performance_schema |
| s1 |
| sys |
| t2 |
+--------------------+
⑦ django使用已有的資料庫表怎麼建立model
在網上看到都是使用Django的models和makemigration,migrate命令來創建新表,並使用。可是我的數據已經存在了已經創建好,並且已經存儲有數據了,不能再重新創建新表了。了解Django的表明和models名稱的映射關系就可以讓Django使用已經存在的表。
假如在Django存在models如下:
[python]view plain
fromdjango.dbimportmodels
#Createyourmodelshere.
classSciencenews(models.Model):
id=models.CharField(max_length=36,primary_key=True)
first_mole=models.CharField(max_length=30,default="News")
second_mole=models.CharField(max_length=30,default="LatestNews")
title=models.CharField(max_length=300)
author=models.CharField(max_length=60,null=True)
publish_date=models.CharField(max_length=35,null=True)
content=models.TextField(null=True)
crawl_date=models.CharField(max_length=35,null=True)
from_url=models.CharField(max_length=350,null=True)
- 執行數據遷移命令:
pythonmanage.pymakemigration
pythonmanage.pymigrate
- 會在資料庫中生成名稱為show_sciencenews的數據表。show為應用名稱,此處我的應用名稱為show。可以看到Django創建表的命名規則:應用名_模型名。
[python]view plain
我的存儲爬取到的數據的表格名稱原來為science_news,想要Django使用它,而不是創建新的表,只需要把的它的名稱改為:應用名_要與該表映射的models名稱,在此處我改為show_sciencenews。然後使用如上的數據遷移命令,這時可能會提示數據表已經存在的錯誤,不用理會,models已經和數據表映射上了。接下來只需要正常使用models和數據表就可以了。
⑧ django 資料庫問題
寫腳本。把數據整理到文件中,例如Excel等,然後使用Python讀取文件,然後按照資料庫表的結構,拼接sql,插入到數據中。