python---django使用数据库(orm)

官方教点击此处 

项目默认使用sqlite

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

并且在根目录中生成数据库文件

db.sqlite3

1.创建应用:官方规定,如果要使用模型,必须先创建一个app

python manage.py startapp ts

记得创建后去settings文件中查看应用是否添加进去,没有则自己添加,否则该应用中数据表创建失败

复制代码
INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'ts'
)
复制代码

2.在ts目录中

 migrations#目录
     __init__.py
 __init__.py
 admin.py
 models.py
 tests.py
 views.py

找到models文件,在这里面创建表

from django.db import models

# Create your models here.
class User(models.Model):
    name=models.CharField(max_length=64)
  
   def __Str__(self):  #打印时直接打印数据,而不是显示类
     return self.name

3.命令生成数据表:

python manage.py makemigrations

会自动知道我们的模型中的改变,并且开始创建数据库(对于多个应用,会排除已经创建过的,对于新的,会执行这个操作)

Migrations for 'ts':
  0001_initial.py:
    - Create model User

开始创建数据表:

python manage.py migrate
复制代码
Operations to perform:
  Synchronize unmigrated apps: staticfiles, messages
  Apply all migrations: sessions, admin, ts, auth, blog, contenttypes
Synchronizing apps without migrations:
  Creating tables...
    Running deferred SQL...
  Installing custom SQL...
Running migrations:
  Rendering model states... DONE
  Applying ts.0001_initial... OK
复制代码

创建成功

4.开始使用数据库

复制代码
from ts import models
# Create your views here.

def show_db(request):
    models.User.objects.create(
        name="test"
    )

    ret=models.User.objects.all()
    for item in ret:
        print(item.name)
    return HttpResponse("<h1>test over</h1>")
复制代码

记得在urls文件中修改路由

from ts import views as v2
urlpatterns
= [ url(r'^test',v2.show_db) ]

 

作者:山上有风景
欢迎任何形式的转载,但请务必注明出处。
限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。

posted @   山上有风景  阅读(290)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!
点击右上角即可分享
微信分享提示