【发布时间】:2019-01-07 02:52:44
【问题描述】:
我需要一些想法来解决以下问题,可能是我当前架构中的一些设计模式或其他方法。
我的应用程序的后端完全是在 Django 框架中开发的,目前有五个模型(无论它们之间的关系如何):
- 产品(id、product_name、product_category、product_code)
- 客户(id, customer_name)
- 帐户(id、account_code、account_name)
- 城市(id, city_name)
- 用户(ID、电子邮件、用户名)
首先,我需要添加一个新模型,以通过以下方式使用上述模型的任何可能组合动态轻松地创建事务:
- 示例 1:交易(id、产品、客户、年、月、金额)
- 示例 2:交易(id、账户、年、月、金额)
- 示例 3:交易(id、账户、城市、年、月、金额)
- 示例 N:事务(id、product、user、year、month、anount)
如您所见,我的 Transaction 模型有几个静态字段(年、月、金额),但其他字段取决于用例随机自定义。
我想过像 Transaction(id, dynamic_field_1, dynamic_field_2, dynamic_field_3, year, amount) 之类的东西,但我怎样才能动态实现呢?是否有一些设计模式或正确的方法来做到这一点?
此外,我需要这些字段已经从以前的模型中得到验证。例如:
交易(id、产品、客户、年、月、金额):
- 验证产品是否存在于数据库中
- 验证客户是否存在于数据库中
我怎样才能采用这种方法?
谢谢!
【问题讨论】:
标签: python django architecture software-design