【发布时间】:2019-03-30 01:59:44
【问题描述】:
我正在尝试使用运行良好的子进程运行命令,然后它应该使用打印功能吐出值,这也可以完美运行。
cmd = subprocess.check_output(["golemcli", "tasks", 'create',unique_filename]).decode(sys.stdout.encoding)
test = print(cmd)
这将打印类似“cc490086-d851-11e8-9ca6-a6389e8e7978”的内容
现在我想将它保存到我的数据库中。我创建了一个看起来像
的模型class Usertasks(models.Model):
TaskID = models.CharField(max_length=40)
user = models.CharField(max_length=30)
这就是我的视图保存数据的方式。
r = Usertasks(user=request.user, TaskID=test,)
r.save()
但是当我尝试保存打印中的数据时,它会变成 NULL 值?我的 Django 抱怨以下异常值:
NOT NULL constraint failed: myproject_usertasks.TaskID
我该如何解决这个问题?
【问题讨论】:
-
但是
print(..)确实不返回任何东西,它确实返回None。 -
好吧,这是我不知道的新手错误。你知道我可以通过其他方式实现这一目标吗?
-
补充@WillemVanOnsem 所说的内容:
test = cmd会如您所愿。如果您需要调试信息,您仍然可以在另一行中执行print(cmd)。 -
您的回答实际上让我自己找到了它。我可以将 cmd 函数传递给 TaskID= 字段。非常感谢!
-
@schwobaseggl 这确实是正确的!非常感谢你们俩! :D
标签: python django subprocess