0
私は以下のDjangoモデルを持っており、TransactionDateTimeモデルクラスのクラス内でステータスフィールドを動的に設定し変更するメソッドを作成したいと思っています子TransactionTaskクラス・モデル内のis_taskcomplete内のFalse値の数に基づいています。私は下の作成メソッドを作成する際に刺すが、私は失われています。どんな助けでも大歓迎です。前もって感謝します。Django - 保存と更新時にモデル内でメソッド呼び出しを呼び出す方法
@python_2_unicode_compatible # only if you need to support Python 2
class TransactionDateTime(models.Model):
room = models.ForeignKey(Room, on_delete = models.CASCADE)
start_dy = models.DateField()
end_dy = models.DateField(blank=True, null=True)
def create(self):
t1 = TransactionDateTime.objects.get(pk=self.pk)
qy = t1.transactiontask_set.all()
value = qy.filter(is_taskcomplete = False).count()
if value > 0:
return "Complete"
else:
return "Incomplete"
status = TransactionDateTime.create(self)
def __str__(self):
return str(self.start_dt)
@python_2_unicode_compatible # only if you need to support Python 2
class TransactionTask(models.Model):
transactiondatetime = models.ForeignKey(TransactionDateTime, on_delete = models.CASCADE)
is_taskcomplete = models.BooleanField(default = False)
def __str__(self):
return str(self.transtaskname)
は、それは本当に不明だ何あなたはしようとしている。そのための 'status'定義は何ですか?それはなぜクラス上のメソッドを呼び出すのですか? –
目的は、上で説明したいくつかのロジックセットに基づいて、親モデルのフィールド(ステータス)を動的に更新するメソッドを作成することです。 –
しかし...あなたはフィールドを定義していません。実際にその情報をデータベースに保存しますか?または、必要なときに計算するだけですか? –