我有一个 Django 应用程序,其中用户可以安排命令行“作业”在远程系统上运行。这是我的 models.py 定义 Job 和外键关系
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)
接下来,我有一段代码,其中包含一些 POST 数据,指示要添加到 Job 的一些主机(主机表示用户希望运行在 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 实例。谁能告诉我该怎么做?提前感谢您的帮助。