django 快速資料庫操作,不用SQL語句
阿新 • • 發佈:2018-12-25
配置models檔案
# -*- coding: utf-8 -*- from __future__ import unicode_literals from django.db import models # Create your models here. class UserMessage(models.Model): #設定主鍵,必須加default屬性 object_id = models.CharField(default="", max_length=20, primary_key=True, verbose_name=u"主鍵") name = models.CharField(max_length=20, verbose_name=u"使用者名稱") email = models.EmailField(verbose_name=u"郵箱") address = models.CharField(max_length=100, verbose_name="聯絡地址") message = models.CharField(max_length=500, verbose_name="留言資訊") class Meta: verbose_name = u"使用者留言資訊" verbose_name_plural = verbose_name #如果不指定這個,儲存內容會自動加一個s # db_table = "user_message" #設定資料表名稱 # ordering = "-object_id" #預設排序
生成更改
可以在資料庫看到生成的新表
資料庫的查詢操作
views檔案修改
# -*- coding: utf-8 -*- from __future__ import unicode_literals from django.shortcuts import render from models import UserMessage # Create your views here. def getform(request): #資料庫查詢 all_messages = UserMessage.objects.all() #查詢所有 for message in all_messages: print message.name, message.email,message.object_id,message.message,message.address return render(request,'message_form.html')
資料庫新增測試內容
執行web後檢視到除錯資訊,和上面資料庫的一樣
不對所有資料查詢,也可以對某幾種屬性查詢,使用如下語句查詢,下面兩個條件是與的關係
all_messages = UserMessage.objects.filter(name = "神祕藏寶室",address="洛陽")
增加資料庫操作
#增加資料庫 user_message = UserMessage() user_message.name = "神祕藏寶室2" user_message.email = "[email protected]" user_message.object_id = "testid2" user_message.message = "helloworld2" user_message.address = "洛陽" user_message.save()
重新執行專案,重新整理網頁,在資料庫能看到資料了
刪除資料庫很簡單
#資料庫查詢
all_messages = UserMessage.objects.filter(name = "神祕藏寶室",address="洛陽")
all_messages.delete() #全部刪除
for message in all_messages:
print message.name, message.email,message.object_id,message.message,message.address
message.delete() #單條刪除