2017-04-13 6 views
2

他のモデルフィールド間の式を実行してモデルフィールドの値を設定したいとします。他のモデルフィールド間の式を実行してモデルフィールドの値を設定する方法

class Current(models.Model): 
    time = models.IntegerField(default=0) 
    post_score = models.ForeignKey(PostScore, blank=True, null=True) 
    comment_score = models.ForeignKey(CommentScore, blank=True, null=True) 

私はrateと呼ばれる新しいフィールドを作成したいと、によって計算されます:

(post_score + comment_score)/time 

これが可能であるここに私のモデルですか?

+0

をあなたは、このためのフィールドが必要なのですなぜ?あなたがそれを見せてもそれを計算してみませんか? –

+0

真実は私がおそらく私の意見でそれを行うことができることを実現しました。 – Zorgan

+0

なぜそれをビューで行うのですか?あなたはあなたのモデルの方法にすることができます...そして、それは実際にそれが実際に所属する場所です。 –

答えて

1

このような何か:views.py

class Current(models.Model): 
    .... 

    def get_current_rate(self): 
     return (self.post_score + self.comment_score)/self.time 

models.py:

from mymodels import Current 

def someview(): 
    .... 
    rate = Current.get_current_rate() 
関連する問題