1

以下に貼り付けたコードで助けが得られるかどうか疑問に思っていました。現在、ping タスクを実行して完了しますが、次のエラーが発生します。私はしばらくの間それに取り組んできたので、どんな助けも素晴らしいでしょう。

エラー:

    Server.objects.filter(pk=id[0]).update(online=1)
TypeError: 'builtin_function_or_method' object has no attribute '__getitem__'

コード:

import subprocess
from django.db import models
from networkstats.models import Server

query = Server.objects.values_list('id', 'ip_address')
for ip_address in query:
    print 'Server ID: ' + str(ip_address[0])
    print 'Server IP: ' + str(ip_address[1])
    command = ['ping -t 200 -c 1 ' + ip_address[1]]
    ping = subprocess.Popen(command, stdout=subprocess.PIPE, shell = True)
    if "100% pocket loss" in ping.stdout.read():
        Server.objects.filter(pk=id[0]).update(online=0)
    else:
        Server.objects.filter(pk=id[0]).update(online=1)
4

2 に答える 2