我有一個叫Document
的模型,我想添加一個新的表,DocumentCluster
,它位於上面,外鍵爲Document
。如何設置主鍵,然後轉換爲自動字段?
class DocumentCluster(models.Model):
sub_document = models.ForeignKey(Document)
...lots of fields here...
當我使用South添加此表時,我需要通過將主鍵和外鍵設置爲相同的值來填充它。
例如,如果我現在有12的pk
一個Document
對象,新DocumentCluster
對象將有12的pk
和外鍵Document
數12
雖然它可能看起來很奇怪,我們需要DocumentCluster
pk
值來匹配外鍵值還有一個重要原因。我們在我們的網址中使用Document
pk
,但在更改之後,網址將加載DocumentCluster
而不是Document
,因此我們需要pk
的DocumentCluster
與Document
中的相同。
一旦完成,我希望DocumentCluster
的PK成爲AutoField,從已遷移的最高值開始遞增。
可以這樣做嗎?
爲什麼你需要設置PK?作爲一個自然的關鍵,它應該與內容無關。你有fk來確定關係。 –
我們在我們的URL中使用PK,但在更改後,URL將加載「DocumentCluster」,而不是「Document」,因此我們需要將PK與以前相同。 – mlissner