第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

根據(jù)函數(shù)的結(jié)果更改類中字段的值

根據(jù)函數(shù)的結(jié)果更改類中字段的值

Go
慕尼黑5688855 2023-02-22 15:09:28
如何根據(jù)函數(shù)的結(jié)果修改類的布爾字段的值?我正在嘗試做的是一個函數(shù),它 ping (icmp) 一個位于“Cliente”類中的 ip,并根據(jù)結(jié)果更改類中的值“ping_status”。我是 python 的新手,所以我沒有太多的知識,我一直在嘗試這樣做 1 周,但我做不到。models.pyclass Cliente(models.Model):razon_social = models.CharField('Razon Social', max_length=50)numero_cuenta = models.CharField('Numero de cuenta',max_length=6)nombre_contacto = models.CharField('Nombre del contacto', max_length=50)numero_del_contacto = models.CharField('Numero del contacto', max_length=10)email = models.EmailField('Correo Electronico', blank=True, null=True)tiene_as_propio = models.BooleanField('Tiene ASN priopio', default=False)ipv4 = models.GenericIPAddressField('IP', default='192.168.0.0')segmento = models.CharField('Segmento', max_length=15)asn= models.CharField(max_length=6, blank=True, null=True)created = models.DateTimeField('Creado el', auto_now_add=True ,blank=True, null=True)updated = models.DateTimeField('Actualizado el', auto_now_add=True, blank=True, null=True)topologia = models.FileField('Topologia', blank=True, null=True)ping_status = models.BooleanField('Ping', blank=True, null=True)def Meta(self):    verbose_name = 'cliente'    verbose_name_plural = 'clientes'def __str__(self):    return self.razon_social我的功能如下所示:def do_ping():    """Realice un nuevo ping y guárdelo en la base de datos."""    ip_clientes = Cliente.objects.values_list('ipv4')    for ip in ip_clientes:        ip = (list(ip))        for ping in ip:            ping = subprocess.call(['ping', '-n', '1', '-w',                                                   '2',ping],                                              stdout=open(os.devnull, 'w'),                                              stderr=open(os.devnull, 'w'))但在此之后我不知道如何獲取類值并修改它
查看完整描述

1 回答

?
守著星空守著你

TA貢獻(xiàn)1799條經(jīng)驗 獲得超8個贊

您可以使用進(jìn)程的退出代碼來檢查是否可以訪問給定的主機。我們還可以使用.bulk_update(…)[Django-doc]來更新.ping_status對象的:

def do_ping():

? ? ip_clientes = list(Cliente.objects.all())

? ? for ip_client in ip_clientes:

? ? ? ? ping = subprocess.call(

? ? ? ? ? ? ['ping', '-n', '1', '-w', '2', str(ip_client.ipv4)],

? ? ? ? ? ? stdout=open(os.devnull, 'w'),

? ? ? ? ? ? stderr=open(os.devnull, 'w')

? ? ? ? )

? ? ? ? ip_client.ping_status = ping == 0

? ? Cliente.objects.bulk_update(ip_clientes, ['ping_status'])


查看完整回答
反對 回復(fù) 2023-02-22
  • 1 回答
  • 0 關(guān)注
  • 139 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號