Django学习手册 - ORM 外键】的更多相关文章

Django 外键创建 关键语法: models.ForeignKey("UserGroup",to_field="gid",default=1,on_delete=models.CASCADE) 参数: "UserGroup"  #外键另外一张表 to_field="gid" #另外一张表的字段 on_delete=models.CASCADE  #因为不加这个会报错相关(https://www.cnblogs.com/ph…
ORM 查询的数据类型: QuerySet与惰性机制(可以看作是一个列表) 所谓惰性机制:表名.objects.all()或者.filter()等都只是返回了一个QuerySet(查询结果集对象),它并不会马上执行sql,而是当调用QuerySet的时候才执行. QuerySet特点: <1>  可迭代的 <2>  可切片 <3>  惰性计算和缓存机制 例: info=models.table_name.objects.all()[0:5] #切片 info= mode…
今天添加了一个路由表,路由表做外键,然后添加了几个组,路由表为组的外键,当我使用删除功能对路由表进行删除时,竞然将我的组也相当的删除了:尽管这是测试,但放到生产环境中还是会发生意外的:这个问题要解决: 在网上查了一下资料,问题主要是django orm的field字段有关: routemgr = models.ForeignKey('Routemgr',default=1,blank=True,null=True,on_delete=models.SET_NULL) 主要意思就是把Routemg…
报错问题: 问题一:(1050代码) django.db.utils.InternalError: (1050, "Table 'app01_group' already exists") 解决办法: python manage.py migrate app名 --fake 问题二:(1146代码) django.db.utils.ProgrammingError: (1146, "Table 'anec.app01_usergroup' doesn't exist"…
定义表结构: class Host(models.Model): hostname = models.CharField(max_length=32) port = models.IntegerField() class HostAdmin(models.Model): username = models.CharField(max_length=32) email = models.CharField(max_length=32) host = models.ManyToManyField(H…
DOM 字段/参数 配置格式: Module.字段(参数) 常用的字段归纳: 数字 models.AutoField() 自增列(int),必须设置为主键 models.IntegerField() 整型 models.FloatField() 浮点 models.DecimalField(max_digits=8,decimal_places=3) 精确浮点 字符串 models.CharField() 字符串,必须设置max_length 参数 models.TextField(Field)…
步骤阐述:( splitDB 是Django自带的一个数据库) 1.在APP01 中的 models.py 配置DB信息  userinfo 相当于数据表的表名,而 uname.pwd 相当于 表中的两个列字段.(DB默认还会自建一个ID列) 2.在setting 中注册 app01. 3.运行命令,建立数据表,写入数据. 4.split 数据库的基本增删改查. 步骤1.在业务app01 models 文当中 写入数据表的 表字段(uname 和 pwd 这个两个字段) 步骤2.在luru的主目…
前置步骤 setting.py文件配置: 添加app目录 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'app01', ] 添加media文件和路径 PROJECT_ROOT = o…
Django 单表数据的获取: 先建立数据表格 from django.db import models # Create your models here. class userinfo(models.Model): uname = models.CharField(max_length=32,db_column="用户名") pwd = models.CharField(max_length=32,db_column="密码") email = models.E…
在module操作过程中使用choice字段: 核心: obj.get_字段名_display 定义module 数据结构: class msg(models.Model): choice = ( (1, '技术部'), (2, '行政'), (3, '人事'), (4, "财务"), ) group = models.IntegerField(choices=choice) valews 视图: def ceshi(request): info = models.msg.object…