django中的orm操作

注冊app

在setting.py中,寫入自己創(chuàng)建的app,使django能夠找到它

INSTALLED_APPS = [
            'django.contrib.admin',
            'django.contrib.auth',
            'django.contrib.contenttypes',
            'django.contrib.sessions',
            'django.contrib.messages',
            'django.contrib.staticfiles',
            'app01',
        ]

在app下的models.py文件中通過類操作數(shù)據(jù)庫

from django.db import models

class UserInfo(models.Model):
    username = models.CharField(max_length=32)
    password = models.CharField(max_length=64)

python manage.py makemigrations
使數(shù)據(jù)庫語句寫入到app下的migrations文件夾下
python manage.py migrate
直接操作數(shù)據(jù)庫

django默認數(shù)據(jù)庫為sqlite3,通過更改settings.py更改數(shù)據(jù)庫

DATABASES = {
    'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME':'dbname',
    'USER': 'root',
    'PASSWORD': 'xxx',
    'HOST': '',
    'PORT': '',
    }
}

# 由于Django內部連接MySQL時使用的是MySQLdb模塊,
而python3中還無此模塊,所以需要使用pymysql來代替
  
# 如下設置放置的與project同名的配置的 __init__.py文件中
  
import pymysql
pymysql.install_as_MySQLdb() 

增刪改查

from cmdb import models

def orm(request):
    # 創(chuàng)建
    # models.UserInfo.objects.create(username='alex', password=123)
    # content = {'username': 'eric', 'password': 456}
    # models.UserInfo.objects.create(**content)
    # obj = models.UserInfo(username='merry', password='890')
    # obj.save()

    # 查
    # result = models.UserInfo.objects.all()
    # result = models.UserInfo.objects.filter(username='merry')
    # print(result)
    # for row in result:
    #     print(row.id, row.username, row.password)

    # 刪除
    # models.UserInfo.objects.filter(username='merry').delete()
    # 更新
    models.UserInfo.objects.filter(id=1).update(username='root')
    return HttpResponse("<h1>ok</h1>")
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容