2017-01-25 11 views
0

開始日が現在の日付の場合、trueまたはfalseを返すプロパティを持つモデルがあります。 instance.startedがTrueの場合、is_startedフィールドをTrueに更新したい。djangoモデルのプロパティタグを使用する場所/場所

class Advert(models.Model): 
    location = models.CharField(max_length=100) 
    is_started = models.BooleanField(default=False) 
    start_date = models.DateField() 

    @property 
    def started(self): 
     today = str(datetime.date.today()) 
     start_date = str(self.start_date) 

     if today == start_date: 
      return True 
     return False 

私の質問はここで私はこの条件を確認する場所です。私はこの条件をチェックし、フロントエンドのチェックの私のビューでis_startedフィールドを更新し、条件IDがtrueの場合に更新するためのAPIリクエストを送信するかわかりません。これについてはどうすればいいですか?

答えて

0

あなたのロジックはフィールド名に合わせて正しくありません。is_startedは、プロパティを呼び出すのと同じ日に値をチェックして意味をなさない場合にのみtrueになります。

あなたが照会の話をしている場合は、あなたがそれを必要としない、あなたはちょうどあなたがビューで話をしている場合は、現在の日付が開始日

.filter(start_date__gte=datetime.now()) 

以上であるかどうかを確認する必要があります(そして後で修正された)あなたの財産があれば十分です。

したがって、モデルフィールドは必要ありません。

関連する問題