我想写一个简单的django信号,当我选中一个按钮completed时,它会自动将一个字段的状态从live更改为finished。
我有一个模型,看起来像这样\
class Predictions(models.Model):
## other fields are here
user = models.ForeignKey(User, on_delete=models.SET_NULL, null=True)
status = models.CharField(choices=STATUS, max_length=100, default="in_review")
class PredictionData(models.Model):
predictions = models.ForeignKey(Predictions, on_delete=models.SET_NULL, null=True, related_name="prediction_data")
votes = models.PositiveIntegerField(default=0)
won = models.BooleanField(default=False)
当我选中PredictionData
模型中的won按钮时,我想立即将Prediction
的status
更改为finished。
注意:我在模型的顶部有一些元组。
STATUS = (
("live", "Live"),
("in_review", "In review"),
("pending", "Pending"),
("cancelled", "Cancelled"),
("finished", "Finished"),
)
1条答案
按热度按时间kulphzqa1#
您可以通过以下方式发出信号:
注意:信号通常不是一个健壮的机制。我写了an article [Django-antipatterns]来讨论使用信号时的一些问题。因此,你应该把它们作为最后的手段来使用。
注意:通常Django模型的名字是单数,所以
Prediction
代替了Predictions
。