Django_插入外键表数据
2018-05-28 本文已影响430人
古佛青灯度流年
需要插入的数据表结构如下:
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方法加入