我使用django創建視頻庫網站。Django - 更新保存在管理中的另一個模型
我有3個模型的圖書館:視頻,VideoTopic,和課程。
我有一個TimedeltaField在每個視頻的持續時間。在管理員保存每個視頻後,我希望獲得課程中所有視頻的每個TimedeltaField的總和,然後將該總和保存到我的課程模型中的TimedeltaField中。
我使用的是django-timedeltafield,它將很好地處理彙總。我還沒有找到解決方案是如何在管理員保存每個視頻後更新課程模型。有什麼建議?
我的型號如下:
class Video(models.Model):
title = models.CharField(max_length=200)
topic = models.ForeignKey('VideoTopic')
duration = timedelta.fields.TimedeltaField(default="3 minutes, 30 seconds", help_text="(x minutes, x seconds)")
class VideoTopic(models.Model):
name = models.CharField(max_length=200, blank=True)
course = models.ForeignKey('course.Course')
class Course(models.Model):
name = models.CharField(max_length=200)
duration = timedelta.fields.TimedeltaField()
你只想更新它在管理員,或總是? – therewillbesnacks
始終保持更新將是最好的。 – Renkai
視頻需要與課程的關係。將'course = models.ForeignKey('Course')'添加到您的視頻模型。並保持更新不會是最好的。因爲你需要大量的代碼來跟蹤整個視頻的持續時間。閱讀關於數據庫標準化。總時間可以通過https://docs.djangoproject.com/en/dev/topics/db/aggregation/ – allcaps