我正在Django设计一个模型,但我不知道这是不是最好的方法。我有一个名为“历史”的模型,在这个模型中,我有一个专门的函数来处理这个模型的插入。
备选方案1
class History(models.Model):
field1 = models.ForeignKey(Request)
field2 = models.BooleanField()
field3 = models.DateTimeField()
def __unicode__(self):
return str(self.field1.id)
class Meta: #
ordering = ['-field3']
def insert_history(self):
# Here I will have some business logic to insert the data to the history model
要将数据插入到History模型中,我总是必须使用“insert_history”函数。
我的问题是:
上面的代码是正确的吗?
如果是,我如何从视图中调用“insert_history”?
备选方案2
我有另一种替代方案,我已经测试过并且有效,但感觉不对。代码如下所示:
class History(models.Model):
field1 = models.ForeignKey(Request)
field2 = models.BooleanField()
field3 = models.DateTimeField()
def __unicode__(self):
return str(self.field1.id)
class Meta: #
ordering = ['-field3']
def insert_history(field1, field2, field3):
# Here I will have some business logic to insert the data to the history model
我从这样的观点来称呼它:
from app.models import insert_history
insert_history('1', True, 'some_date')
这样做的正确方法是什么?如果备选方案1是正确的,我如何从视图中调用“insert_history”?
最好的祝福,