[英]Django: overwriting model's 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)
可以说有3个具有此类ID的Topic对象实例:
1 2 3
当我delete()
第三个实例并尝试创建一个新实例时,Django将最后一个实例的ID设置为“ 4”,但是我想测量所有当前Topic的ID,并给出highest present ID +1
的新对象highest present ID +1
,例如:
主题--- ID
Topic1--1
Topic2--2
Topic3--3
当我删除Topic3(id = 3)并创建新的Topic Topic4时,我希望它的ID为3。
可以通过Django shell来实现,但我不确定该如何覆盖模型的ID创建方法。
创建Topic
时,将为当前登录的用户( user = request.user
)和当前主题( subject = slug
)下创建主题
您的应用逻辑绝对不需要此。 假设您可以解析模板的HTML,增加找到的值并希望在具有此ID的数据库中找到某些东西,这是您的错误。 与其尝试对数据库进行微管理以解决此问题,不如让我们后退决定并考虑替代方法。
动态创建主题时,请按照以下方式进行操作:
pk
(大概是JSON
动态生成URL。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.