我有以下具有相关属性的类:
class Company(object):
self.ticker # string
self.company # string
self.creator # string
self.link # string
self.prices # list of tuples (this could be many hundreds of entries long)
self.creation_date # date entry
我填充个别公司,然后将公司列表存储到公司类中:
class Companies(object):
def __init__(self):
self.companies = []
def __len__(self):
return len(self.companies)
def __getitem__(self, key):
return self.companies[key]
def __repr__(self):
return 'Company list of length %i' % (self.__len__())
def add(self, company):
self.companies.append(company)
我希望能够轻松地执行诸如 Companies.find(creator="someguy") 之类的查询,并让该类返回由 someguy 创建的所有公司的列表。我还希望能够运行诸如 Companies.find(creation_date > x) 之类的查询并返回在某个日期之后创建的所有条目的列表。
我有一些使用 Django 的内置 SQL 功能做类似工作的经验,发现这非常方便。但是,这个项目没有使用 Django,我不知道是否有任何其他更小的包提供这个功能。我想尽量减少与 SQL 服务器的接口,因为我没有太多的语言经验。
以下是我的问题:
- 要做到以上,我需要使用外部数据库程序吗?或者,是否存在可以执行上述操作的包,并且还允许我轻松保存数据(酸洗或其他)?我觉得,也许是不合理的,当你开始整合 SQL 时,事情开始变得更加混乱和复杂。
- 如果上述情况不需要数据库,您如何评估何时有足够的数据来合并外部数据库?
- 存在哪些包(例如 Django)来最大程度地减少 SQL 跑腿工作?
- 说了这么多,你建议我做什么?