我正在努力處理對我來說很簡單的事情,所以如果這看起來很愚蠢,我會提前道歉。我正努力通過使用具有來自下拉列表的值的POST的表單來獲取提交的值。這些值從django管理站點顯示,即admin用戶可以在管理站點中添加多個值,並使用MulitpleChoiceField將這些值顯示在下拉列表中。 (這種方式管理員控制可以測試的IP地址)從MulitpleChoiceField獲得值
在我的模型中,我配置了以下內容。
from django.db import models
class ServerIpAddress(models.Model):
name = models.CharField(max_length=200)
def __unicode__(self):
return self.name
from platform.models import ServerIpAddress
在我的表格中,我有以下配置。
serverip = forms.ModelChoiceField(queryset=CloudStackIpAddress.objects.all(),
label='server IP to test')
當提交表單時,我在我的views.py收集清理的數據
cd = form.cleaned_data
serverip = cd['serverip']
然而,當我回顧值回來爲之後的表格已經提交,我得到以下
'serverip': <ServerIpAddress: 10.0.25.14>
我只是需要IP地址,在這種情況下10.0.25.14(或它可能是另一個值)。由於腳本無法確定當前讀取的IP地址,因此我現在使用的格式正在導致更進一步的問題。
請問有人可以幫忙嗎?
謝謝!我用另一種方式玩弄.name。這是我有多接近 serverip = cd ['serverip'] t_serverip = serverip.name。 我知道有一個ipaddress字段,但這種方式我可以控制哪些IP地址顯示在MulipleChoiceField中。再次感謝 – Oli
使用內置的IPAddressField不會改變您使用MultipleChoiceField的方式。 –