我有一個基本問題,我認爲答案應該是顯而易見的,但我自己找不到它。這是我的模型:Django:覆蓋模型的ID
class Topic(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL)
subject = models.ForeignKey(Subject)
name = models.TextField(blank=True, null=True, verbose_name=u'')
date = models.DateTimeField(auto_now_add=True)
比方說,有這樣的ID的3個主題對象實例:
當我delete()
第三實例,並且嘗試創建一個新的,Django爲最後一個實例提供了一個「4」ID,但我想測量所有當前主題的ID,並給出新的對象ID highest present ID +1
,例如:
主題--- ID
Topic1--1
Topic2--2
Topic3--3
當我刪除Topic3(ID = 3),並創建新的主題Topic4,我想的ID因爲它會是3.
它可以通過Django shell來完成,我只是不確定應該如何覆蓋模型的ID創建方法。
當我創建Topic
我的用戶(user = request.user
),並根據目前的主題創建它當前登錄(subject = slug
)
你爲什麼要這麼做?只需讓數據庫管理ID即可。是否有差距並不重要。 –
這是我的應用程序的業務邏輯所必需的。我使用Jquery和Ajax動態創建對象,像(http://example.com/app/edit/topic/)這樣的鏈接應該是動態的--PK + 1等。 –
Eimantas
使用'PK'的事實在你的URL中,並不以任何方式要求它們是連續的,在你的應用程序中也不存在AJAX。 –