1. 程式人生 > >django 快速資料庫操作,不用SQL語句

django 快速資料庫操作,不用SQL語句

配置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()    #單條刪除