需要插入的数据表结构如下:

class UserInfo(models.Model):
user_id =models.AutoField(primary_key=True)
user_name=models.CharField(max_length=20,unique=True)
depart=models.ForeignKey(DepartmentInfo)
role=models.ManyToManyField(Role)

*注:从上述类中可以看出UserInfo除了一般的表项外,还有有一个外键,和一个多对多的field

插入数据方法如下:

d1=DepartmentInfo.objects.get(depart_id=1) #  d1表示UserInfo的外键数据
r1=Role.objects.get(role_name=role) # r1表示UserInfo的多对多数据
u1=UserInfo(user_name=name,user_pwd=password,sex=sex,mobileno=mobile,email=email,depart=d1)
u1.save()
u1.role.add(r1)
u1.save()

总结:

    • 普通数据项:直接插入
    • 外键数据项:先获取要插入的外键,然后和普通想一起插入
    • 多对多数据项:获取要插入的多对多数据项,待表中普通数据项和外键数据项save后,使用.add方法加入

django model 插入数据方法的更多相关文章

  1. C# 批量插入数据方法

    批量插入数据方法 void InsertTwo(List<CourseArrangeInfo> dtF) { Stopwatch watch = new Stopwatch(); watc ...

  2. sql实现同时向主表和子表插入数据方法

    使用sql语句实现同时向主表和子表插入数据方法: Oracle: -- oracle创建sequence create sequence SEQ_test minvalue 1 maxvalue 99 ...

  3. 072 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 04 综合案例-数组移位-在指定位置处插入数据方法

    072 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 04 综合案例-数组移位-在指定位置处插入数据方法 本文知识点:综合案例-数组移位-在指定位置处插入数据方法 ...

  4. Django model重写save方法及update踩坑记录

    一个非常实用的小方法 试想一下,Django中如果我们想对保存进数据库的数据做校验,有哪些实现的方法? 我们可以在view中去处理,每当view接收请求,就对提交的数据做校验,校验不通过直接返回错误, ...

  5. django model form 保存方法 django-rest-framework save 修改某一项值 方法

    django Model Form django-rest-framework save 方法 修改某个数据的值

  6. [django]Django model中数据批量导入bulk_create()

    参考: https://www.cnblogs.com/ccorz/p/Django-model-zhong-shu-ju-pi-liang-dao-rubulkcreat.html import o ...

  7. Django批量插入数据和分页器

    目录 一.ajax结合sweetalert实现删除按钮动态效果 二.bulk_create批量插入数据 1. 一条一条插入 2. 批量插入 三.自定义分页器 一.ajax结合sweetalert实现删 ...

  8. Django 外键、多对多插入数据方法

    models.py class UserInfo(models.Model): username = models.CharField(max_length=64,db_column='usernam ...

  9. Django model中数据批量导入bulk_create()

    在Django中需要向数据库中插入多条数据(list).使用如下方法,每次save()的时候都会访问一次数据库.导致性能问题: for i in resultlist: p = Account(nam ...

随机推荐

  1. VS2010-自定义控件

    1.自定义控件 (1)新建—项目,项目模板选择“类库”,取名smControl,填写项目文件保存目录,点击确定 (2)完成后在解决方案资源管理器中删除类Class1 (3)添加“用户控件”——在解决方 ...

  2. 装载问题(load)

    装载问题(load) 问题描述: 有一批共n 个集装箱要装上艘载重量为c 的轮船,其中集装箱i 的重量为wi.找出一种最 优装载方案,将轮船尽可能装满,即在装载体积不受限制的情况下,将尽可能重的集装箱 ...

  3. Oracle12c中多宿主环境(CDB&amp;PDB)的数据库触发器(Database Trigger)

    Oracle12c中可插拔数据库(PDBs)上的多宿主数据库触发器 随着多宿主选项的引入,数据库事件触发器可以在CDB和PDB范围内创建. 1.   触发器范围 为了在CDB中创建数据库事件触发器,需 ...

  4. Ionic实现自定义返回按键事件

    在 Android 和 Window 平台下,有时候我们需要监听返回按键的事件来进行相应的操作,也就是自定义返回按键事件.下面根据一个例子来讲解如何在 ionic 中自定义返回按键事件. 功能需求 首 ...

  5. learning scala 变量

    scala 变量: val : 声明时,必须被初始化,不能再重新赋值. scala> test = "only1"<console>:11: error: not ...

  6. C语言中的volatile——让我保持原样

    volatile译为:易变的.这不是和题目的让我保持原样矛盾了吗?其实不然,在变量前加上该关键字修饰,确实是告诉编译器,这个变量是一个容易改变的变量,不要对它进行优化,每次都要到变量的地址中去读取变量 ...

  7. pyinstall 把你的程序变成windows的可执行程序。py exe UPX

    我们先看一下这个官方文档 http://pythonhosted.org/PyInstaller/ 其实常用的也就是两句 pyinstall ***.py pyinstall -F ***.py 一: ...

  8. vue 登录验证引擎

    1.router配置: 路由元信息 const router = new VueRouter({ routes: [ { path: '/foo', component: Foo, children: ...

  9. 1.1.1 A+B for Input-Output Practice (I)

    A+B for Input-Output Practice (I) Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K ...

  10. 微信小程序 按钮点击跳转页面

    wx.navigateTo({ url: '/pages/index/talkPage', })跳转到talkPage界面.   首先: html界面要在app.json里面注册:   不注册的话会报 ...