我有一个基本问题,我认为答案应该是显而易见的,但我自己也找不到。这是我的模特:
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)
假设有3个具有此类ID的主题对象实例:
1 2 3
当我delete()
第三个实例并尝试创建一个新实例时,Django会提供一个ID为' 4'到最后一个例子,但我想测量所有当前主题的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
)
答案 0 :(得分:1)
你的app逻辑肯定不需要这个。假设您可以解析模板的HTML,增加找到的值,并期望使用此ID在数据库中查找某些内容,那么您犯了一个错误。不要试图对数据库进行微观管理来处理这个问题,而是让我们回顾你的决定并考虑另一种选择。
动态创建主题时,请按以下方式执行:
pk
动态生成网址,大概是JSON
。