先看下面的代码:

class Worker(models.Model):
    departments = moels.ManyToManyField(Department, verbose_name=u"部门列表", blank=True, related_name='workers')

class Department(models.Model):
    name = models.CharField(u"名字", max_length=255)
    wx_id = models.CharField(u"部门id", max_length=64, null=True, blank=True, db_index=True)

# 执行如下代码
worker = Worker.objects.get(pk=14)
worker.departments = models.Department.objects.filter(wx_id__in=info.get("department"))
for dept in worker.departments:
    print(dept.wx_id)

这个时候会报错'ManyRelatedManager' object is not iterable, 原因是worker.departments是不可迭代的,可以使用for dept in worker.departments.all()来迭代

更新ManyToManyField可以用add()方法,add()方法相当于update_or_create,不会重复增加

最新文章

  1. git 使用 总结
  2. Markdown渲染后文章标题收缩控件
  3. linux下java环境配置
  4. Python 栅栏凯撒
  5. SGU-169 Numbers(找规律)
  6. 009. C#中的WebBrowser控件的属性、方法及操作演示代码(转)
  7. 直接选择排序----java实现
  8. 通讯服务类API调用的代码示例合集:短信服务、手机号归属地查询、电信基站查询等
  9. MySQL - 扩展性 1 概述:人多未必力量大
  10. NTP服务和DNS服务(week3_day3)--技术流ken
  11. Netty 系列一(核心组件和实例).
  12. Redis入门到高可用(十三)—— 发布订阅
  13. mongodb与mysql命令详细对比
  14. C语句详细(初学者)
  15. MYSQL安装时解决要输入current root password的解决方法
  16. 配置linux DNS
  17. Tomcat8 配置APR模式
  18. mxonline实战2, 后台管理神器xadmin
  19. php使用amqplib方式使用rabbitmq
  20. 【spring源码学习】spring的AOP面向切面编程的实现解析

热门文章

  1. Stars(BIT树状数组)
  2. Android 中常用代码片段
  3. Linux用户与用户组,UID及GID
  4. Android EditText圆角的方法
  5. HTML5学习摘录
  6. Roy the Robber
  7. bzoj1654 [Usaco2006 Jan]The Cow Prom 奶牛舞会
  8. Asp.NET MVC 技术参考:http://kb.cnblogs.com/zt/mvc/
  9. UESTC_Rain in ACStar 2015 UESTC Training for Data Structures<Problem L>
  10. rabbitmq-c初探