2010-01-16 55 views
3

我正在构建一个应用程序,它将在处理APIRecord(models.Model)类中的信息之后发送API调用并保存结果信息。Django:鸡或蛋问题

1)我应该建立在这样一种方式,该类这个API调用,处理该信息(包括对业务规则检查),然后创建我的APIRecord()类的一个实例一个单独的类?

或者

2)我应该建立与处理适当的方法一个单独的类,然后调用API,然后在我的模型,覆盖APIRecord.save()方法来调用单独的类的API方法,然后保存结果?

或者

3)我应该建立与适当的方法我的模型类调用API和处理响应(包括检查某些价值和其他业务规则)?

我尝试了#2并遇到了灵活性问题(但我仍然对建议持开放态度)。我倾向于#1,但我不确定所有的负面因素呢?

回答

1

这是设计决定。它取决于您的设计和编程兴趣。 我使用了你说的三种方法的组合。如果我需要一些可以从其他字段构建的信息,那么我将在模型类中创建一个内部函数。如果我需要数据库的其他记录来做一些事情,我会在模型类之外创建一个函数。和其他不寻常的需求将在我需要它们的任何地方计算。