我試圖創建一套模型來跟蹤音頻設備中的信號流。例如,爲了正確模擬混音器,我需要跟蹤幾個相同的輸入和輸出。例如:是否可以枚舉模型的相同實例?
class signal(models.Model):
# e.g., 1/4" mono cable
name = models.CharField(max_Length=100)
def __unicode__(self):
return self.name
class component_type(models.Model):
# e.g., mixer
name = models.CharField(max_length=250)
def __unicode__(self):
return self.name
class input(models.Model):
# e.g., a single channel on a mixer
type = models.ForeignKey("signal")
component_type = models.ForeignKey("component_type")
def __unicode__(self):
return "%s - %s" % (self.component_type.name, self.type.name)
我可以添加一些調音臺的1/4" 單聲道插孔的不同實例的,那也沒問題,我想什麼做的是自動列舉出來,讓我可以跟蹤每個單獨的通道,例如,我希望在混音器上將1/4「單聲道輸入的第一個實例表示爲」混音器 - 1/4「單聲道1',並將第二個實例是'混音器 - 1/4「2',而不是讓它們都被命名爲'混音器 - 1/4」單聲道。
我想這將需要額外的領域和劫持保存方法,但我不太清楚如何去了解它謝謝!
我想出了保存覆蓋,但刪除覆蓋是輝煌的。非常感謝! 我也很感謝你在模型命名約定中糾正我。我最近停止了這個工作,因爲我們遇到了錯誤的名字,但我不想讓任何未來合作中的任何applecart感到困擾。再次感謝!! –
不客氣!只需再注意一點:當通過管理操作(在輸入的變更列表視圖上)大量刪除對象時,不會調用delete方法。作爲替代方案,您可以嘗試使用post_delete信號,如果這是您的問題。另見https://docs.djangoproject.com/en/dev/ref/signals/#post-delete和https://docs.djangoproject.com/en/dev/topics/db/queries/#deleting-objects for更多信息!希望這有助於 – ppetrid
這非常有幫助,謝謝! –