Django之models操作数据库

本文介绍如何使用Django创建数据库模型、配置数据库连接、生成数据库,并通过admin功能进行管理。此外还介绍了实现多对多关系的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

  (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')

 

转载于:https://www.cnblogs.com/allen0214/p/6650685.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值