ユーザーがコマンドライン「ジョブ」をリモートシステムで実行するようにスケジュールできるDjangoアプリがあります。これが、Job と外部キーの関係を定義する models.py です。
class Job(models.Model):
name = models.CharField(max_length = 250, null = False, blank = False)
user = models.CharField(max_length = 30, null = False, blank = False)
command = models.CharField(max_length = 1000, null = False, blank = False)
whenToRun = models.DateTimeField('Run Date', null = False, blank = False)
output = models.CharField(max_length = 100000, null = True, blank = True)
class Host(models.Model):
job = models.ForeignKey(Job)
name = models.CharField(max_length = 100, null = False, blank = False)
hasRun = models.BooleanField(default = False)
次に、Job に追加するホストを示す POST データを含むコード ブロックがあります (ホストは、Host インスタンスが接続されている Job インスタンスで指定されたコマンドをユーザーが実行したい個々のホスト名を表します)。
hostNames = list()
for p in request.POST:
if "Host" in p: #Host is put in the input name attribute in the template as a sentinel
hostNames.append(request.POST[p])
selected = getCheckedJobs() #a list of the jobs to add this host to
名前を組み立て、それらを追加するジョブを取得したので、Job インスタンスを取得し、それに関連付けられた Host インスタンスを追加する方法がわからないことに気付きました。誰かがこれについてどうすればよいか教えてもらえますか? 助けてくれてありがとう。