天天看點

如何在DJANGO裡,向有外鍵(一對多和多對多)的DB裡插入資料?

需要插入的資料表結構如下:

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)  

總結:

  普通資料項:直接插入

  外鍵資料項:先擷取要插入的外鍵,然後和普通想一起插入

  多對多資料項:擷取要插入的多對多資料項,待表中普通資料項和外鍵資料項save後,使用.add方法加入

ps,如果判斷更新還是插入呢?