私は現在、DSL接続用のDSLAM管理サイトを持っています。現在、私が働きたいのは、DSLAM IPアドレスに自動的にpingを実行することにより、DSLAMステータスを自動的に更新することです。リクエストが適切な場合は、boolean = Trueを返して保存します。それ以外の場合は、boolean=Falseを返して保存します。これまでのところ機能しておらず、ここからどこに行くべきかわからない。
models.py
from django.db import models
import os,sys
class DslamManager(models.Manager):
def dslam_status(self, ip_address):
if os.system('ping' + ip_address):
dslam_status = super(DslamManager, self).get(ip_address)
dslam_status = True
dslam_status.save()
else:
dslam_status = super(DslamManager, self)
dslam_status = False
dslam_status.save()
class Location(models.Model):
location_name = models.CharField(max_length=30)
island_name = models.CharField(max_length=30)
class Meta:
ordering = ['location_name']
def __unicode__(self):
return self.location_name
class Dslam(models.Model):
dslam_name = models.CharField(max_length=32)
ip_address = models.CharField(max_length=128)
location = models.ForeignKey(Location)
notes = models.TextField(blank=True)
dslam_status = models.BooleanField()
objects = DslamManager()
class Meta:
ordering = ['location', 'id']
def __unicode__(self):
return self.dslam_name