使用 tinydb 我有一个用于数据库操作的对象,如下所示:
#database.py
class DataBase(object):
"""CRUD access to database."""
def __init__(self):
"""Initialize database."""
self.db = TinyDB('/db.json')
def new(self, **kwargs):
"""Add a new entry to the database."""
if self.db.insert(kwargs): # 1
return 'New item added to the database.'
else:
return 'Item NOT added to the database.'
tinydb 的方法 'insert' 在插入后返回条目的 id,参见 #1。所以我使用这个效果返回一个成功/失败消息,当使用 print() 调用函数时可以显示该消息:
#main.py
#...
@entry.command('new')
@click.argument('first_arg', type=str)
@click.argument('second_arg', type=str)
def entry_new(**kwargs):
"""Create a new entry."""
if kwargs is not None:
click.echo(a_db.new(**kwargs)) # 2
#...
问题一:
if self.db.insert(kwargs):
在 if 块的条件语句中执行插入函数是“好习惯”吗?如果不是,有什么替代方法可以根据返回值创建 if/else 语句?
问题2:
click.echo(a_db.new(**kwargs))
将文件插入数据库的整个过程都包含在打印语句中,以便能够访问插入函数的返回值。这是“好习惯”还是有更好的方法来调用插入函数、访问返回值并将其打印出来?
提前感谢您的澄清!