Python JSON和数据库:四个布尔值和一个字符串值。什么';更好吗?

Python JSON和数据库:四个布尔值和一个字符串值。什么';更好吗?,python,json,database,Python,Json,Database,我正在开发一个Python API。本质上,我试图创建的API与银行使用的API类似。它将从我的数据库中检索数据,并使用JSON将其发送到我的桌面应用程序 我不确定wheter: 选项1 { "is_current": false, "is_savings": true, "is_credit_card": false, "is_loan": false, } 与以下各项相比有任何优点/缺点: 选项2 { "account_type": "savings

我正在开发一个Python API。本质上,我试图创建的API与银行使用的API类似。它将从我的数据库中检索数据,并使用JSON将其发送到我的桌面应用程序

我不确定wheter:

选项1

{
    "is_current": false,
    "is_savings": true,
    "is_credit_card": false,
    "is_loan": false,
}
与以下各项相比有任何优点/缺点:

选项2

{
    "account_type": "savings"
}
显然,我看到选项2需要更少的数据传输,因此加载速度可能更快,但对于我的应用程序的当前状态,“超快”加载时间不是优先考虑的(尽管它可能在遥远的将来)

另外,将其存储在数据库中以便高效查询的最佳方法是什么

我试图搜索该网站,但似乎找不到任何与我的问题相匹配的内容


任何建议都将不胜感激。

如果四种类型的帐户中没有两种可以同时为真,最好存储为单个字符串。我认为存储单个字符串的两个优点是

  • 如果有任何新类型的帐户,您可以相对轻松地将其可视化(无需通过前端的硬编码字段验证进行更改)
  • 在数据库中存储单个字段将减少表的稀疏性,还可以在不向模式中添加整列的情况下添加新类型的帐户

缺点是您无法显示任何可能同时具有贷款和信用卡属性的帐户。如果上下文没有要求这样做,那么它就不应该是一个问题

如果这四种类型是互斥的,那么您肯定只应该有一个
帐户类型
字段–它的限制性更强。您可以将其作为
ENUM
@Ryan存储在数据库中,谢谢!这些类型确实是相互排斥的。谢谢你的建议!