这是预期的输出。add()
不返回值。文档:
在 Session 中放置一个对象。
它的状态将在下一次刷新操作时持久化到数据库中。
重复调用 add() 将被忽略。add() 的反面是 expunge()。
代码:
def add(self, instance, _warn=True):
"""Place an object in the ``Session``.
Its state will be persisted to the database on the next flush
operation.
Repeated calls to ``add()`` will be ignored. The opposite of ``add()``
is ``expunge()``.
"""
if _warn and self._warn_on_events:
self._flush_warning("Session.add()")
try:
state = attributes.instance_state(instance)
except exc.NO_STATE:
raise exc.UnmappedInstanceError(instance)
self._save_or_update_state(state)
add 方法不返回值。当 Python 函数不返回值时,该函数的行为就像它返回None
. 如果您想打印出作业,您可以打印:
session.add(newjob_obj)
print('Return newJob value %s\n' % newjob_obj)
add()
你看,当你是会话的对象时,SQLAlchemy 不会真正做任何重要的事情(比如对数据库运行查询) 。它将做的只是跟踪对象存在的事实。那么当你做...
session.commit()
...您添加的所有对象都插入到数据库中(除其他外,例如对修改和删除的对象执行 UPDATE 和 DELETE)。
有关更多信息,请参阅文档中的使用会话章节。