设为首页 加入收藏

TOP

Django之models操作数据库
2017-10-09 17:43:32 】 浏览:7251
Tags:Django models 操作 数据库

一、创建数据库及链接数据库

  (1)在models.py中创建数据库

from django.db import models

class UserType(models.Model):
name = models.CharField(max_length=32)

def __str__(self):
return self.name

class UserInfo(models.Model):
nid = models.AutoField(primary_key=True)
user = models.CharField(max_length=30)
email = models.EmailField()
memo = models.TextField()
img = models.ImageField()
user_type = models.ForeignKey(UserType,null=True,blank=True)

  (2)在settings.py里面注册app

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

   (3) 在settings.py修改数据库连接

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

 (4)执行命令生成数据库

python3 manage.py makemigrations
python3 manage.py migrate

 

二、利用django的admin功能

 (1)在admin.py中添加:

from django.contrib import admin

from cmdb import models
admin.site.register(models.UserInfo)

admin.site.register(models.UserType)

 (2)创建一个超级用户

python3 manage.py createsuperuser

 (3)在urls.py中指定url路由规则

urlpatterns = [
    url(r'^admin/', admin.site.urls),
]

 (4)启动django

python3 manage.py runserver 0.0.0.0:8000

 

 三、建立多对多关系

class Boy(models.Model):
    name = models.CharField(max_length=32)
    
    
class Girl(models.Model):
    name = models.CharField(max_length=32)
    

#方法一:在Girl中添加以下,自动建立多对多关系
    f = models.ManyToManyField(Boy)
#方法二:再创建一个新的表

class B2G(models.Model):
    boy = model.ForeignKey('Boy')
    girl = model.ForeignKey('Girl')

 

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Python 面向对象详解 下一篇Django 1.10中文文档-第一个应用P..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目