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

 

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

 

插入数据方法如下:

 



 

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方法加入