如何在DJANGO里,向有外键(一对多和多对多)的DB里插入数据?

简介:

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

 

[python]  view plain copy
 
  1. class UserInfo(models.Model):  
  2.     user_id =models.AutoField(primary_key=True)  
  3.     user_name=models.CharField(max_length=20,unique=True)   
  4.     depart=models.ForeignKey(DepartmentInfo)  
  5.     role=models.ManyToManyField(Role)  

 

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

 

插入数据方法如下:

 

[python]  view plain copy
 
  1.           
  2.         d1=DepartmentInfo.objects.get(depart_id=1) #  d1表示UserInfo的外键数据  
  3.         r1=Role.objects.get(role_name=role)        #  r1表示UserInfo的多对多数据  
  4.         u1=UserInfo(user_name=name,user_pwd=password,sex=sex,mobileno=mobile,email=email,depart=d1)  
  5.         u1.save()  
  6.         u1.role.add(r1)  
  7.         u1.save()  

 

 

总结:

  •   普通数据项:直接插入
  •   外键数据项:先获取要插入的外键,然后和普通想一起插入
  •   多对多数据项:获取要插入的多对多数据项,待表中普通数据项和外键数据项save后,使用.add方法加入
    • PS,如果判断更新还是插入呢?
    • obj, created = DeployPool.objects.update_or_create(
      aa=aa)
      print obj, created
目录
相关文章
|
9月前
|
存储 数据库 Python
Django模型关系:从一对多到多对多全解析
本文详解Django模型关系:一对多(ForeignKey)及多对多(ManyToManyField)关系的定义、操作与优化技巧。同时探讨外键约束的使用场景与权衡策略。
539 0
|
数据采集 自然语言处理 监控
【优秀python毕设案例】基于python django的新媒体网络舆情数据爬取与分析
本文介绍了一个基于Python Django框架开发的新媒体网络舆情数据爬取与分析系统,该系统利用Scrapy框架抓取微博热搜数据,通过SnowNLP进行情感分析,jieba库进行中文分词处理,并以图表和词云图等形式进行数据可视化展示,以实现对微博热点话题的舆情监控和分析。
1706 110
【优秀python毕设案例】基于python django的新媒体网络舆情数据爬取与分析
|
SQL 监控 数据库
深入探索Django ORM:高效数据操作的秘诀与实践####
在当今的Web开发领域,提升数据访问层的效率是优化应用性能的关键。本文旨在通过剖析Django框架中的ORM(对象关系映射)机制,揭示其如何简化数据库交互,并探讨一系列高级技巧与策略,帮助开发者构建更高效、可维护的数据访问代码。我们不涉及安装步骤或基础概念,而是聚焦于实战经验分享,旨在为中高级开发者提供深度洞见。 ####
|
JavaScript 前端开发 Python
django接收前端vue传输的formData图片数据
django接收前端vue传输的formData图片数据
343 4
|
数据库 数据安全/隐私保护 数据库管理
#765372#基于django和neo4j的通用数据展示系统
#765372#基于django和neo4j的通用数据展示系统
212 1
|
搜索推荐 关系型数据库 MySQL
#874358#基于django/neo4j的电视剧浏览数据推荐系统
#874358#基于django/neo4j的电视剧浏览数据推荐系统
527 0
|
数据可视化 安全 前端开发
基于Django的美团药品数据分析与可视化系统,有多用户功能,可增删改查数据
本文介绍了一个基于Django框架开发的美团药品数据分析与可视化系统,该系统具备多用户功能,支持数据的增删改查操作,并采用MySQL、pandas、echarts和bootstrap技术栈,为用户提供了一个高效、安全且实用的药品数据管理和分析平台。
316 0
基于Django的美团药品数据分析与可视化系统,有多用户功能,可增删改查数据
|
数据库 Python
django中数据库外键可以自定义名称吗
django中数据库外键可以自定义名称吗
|
API 数据库 开发者
【独家揭秘】Django ORM高手秘籍:如何玩转数据模型与数据库交互的艺术?
【8月更文挑战第31天】本文通过具体示例详细介绍了Django ORM的使用方法,包括数据模型设计与数据库操作的最佳实践。从创建应用和定义模型开始,逐步演示了查询、创建、更新和删除数据的全过程,并展示了关联查询与过滤的技巧,帮助开发者更高效地利用Django ORM构建和维护Web应用。通过这些基础概念和实践技巧,读者可以更好地掌握Django ORM,提升开发效率。
288 0
|
关系型数据库 MySQL Python
[django]数据的导入和导出
[django]数据的导入和导出
202 0