2017-10-07 84 views
-1

我已經在我的模型改變了主鍵設置在Django模型的主鍵

class lab(models.Model): 
    IP = models.CharField(max_length=250 , primary_key = True) 
    PingStatus = models.CharField(max_length=250) 
    SSHConnectivity = models.CharField(max_length=250) 
    SSHLogin = models.CharField(max_length=250) 
    DeviceType = models.CharField(max_length=250) 
    DeviceVersion = models.CharField(max_length=500) 

我試圖通過實驗室對象分配兩個不同的「IP」的價值觀,以使兩個條目。但不知何故,只有一個對象是在模型

>>> a=lab(IP="1.2.3.4") 
>>> a=lab(PingStatus="1.2.3.4") 
>>> a=lab(SSHConnectivity="1.2.3.4") 
>>> a=lab(SSHLogin="1.2.3.4") 
>>> a=lab(DeviceType="1.2.3.4") 
>>> a=lab(DeviceVersion="1.2.3.4") 
>>> a.save() 
>>> lab.objects.all() 
<QuerySet [<lab: lab object>]> 
>>> a=lab(IP="1.2.3.5") 
>>> a=lab(PingStatus="1.2.3.4") 
>>> a=lab(SSHConnectivity="1.2.3.4") 
>>> a=lab(SSHLogin="1.2.3.4") 
>>> a=lab(DeviceType="1.2.3.4") 
>>> a=lab(DeviceVersion="1.2.3.4") 
>>> a.save() 
>>> lab.objects.all() 
<QuerySet [<lab: lab object>]> 
>>> b=lab(IP="1.2.3.5") 
>>> b=lab(PingStatus="1.2.3.4") 
>>> b=lab(SSHConnectivity="1.2.3.4") 
>>> 
>>> b=lab(SSHLogin="1.2.3.4") 
>>> b=lab(DeviceType="1.2.3.4") 
>>> b=lab(DeviceVersion="1.2.3.4") 
>>> b.save() 
>>> lab.objects.all() 
<QuerySet [<lab: lab object>]> 
>>> 

有人可以檢查嗎?我在這裏錯過了什麼嗎?

回答

1

您應該創建類的實例,後來爲該實例設置的值,例如:

a = lab(IP="1.2.3.4") 
a.PingStatus = "1.2.3.4" 
a.save() 

有一次設置都應該參數創建實例幫助太:

b = lab.objects.create(...) 
0

嘗試一次設置您想要的所有值,例如

b = lab.objects.create(value1='xx', value2='yy', value3='zz')

此外,你不遵守約定。您的模型名稱應該大寫,並且您的字段名稱應該是snake_case。例如,實驗室 - >實驗室,PingStatus - > ping_status

+0

我試過這個,但我沒有使用創建。這種類型的語法工作正常:row = lab(IP = information [0],PingStatus = information [1],SSHConnectivity = information [2],SSHLogin = information [3],\ DeviceType = information [4],DeviceVersion =信息[5])' –