嗯,我想自动递增一个不是主键的模型字段conversation-id
。目前,我使用的是以下几行代码,效率非常低。
web_query_data = WebQuery.objects.all()
if not web_query_data:
c_id = 0
else:
for data in web_query_data:
c_id = data.conversation_id
web_query = WebQuery.objects.create(user_id = request.user.id, sent_to = selected_users,
user_query = query,date_time = date_time, conversation_id = c_id + 1)
它基本上是使用循环获取字段conversation_id
的最后一个值,并将其递增1。
我尝试使用models.Autofield
,它要求字段是主字段。但是根据我的需要,我需要插入一个有时与conversation_id
重复的数据
对于同样的问题,有没有更好更有效的方法呢?
发布于 2013-08-06 06:00:21
你可以从这里获取最后一个对象并递增:
query = WebQuery.objects.all().order_by("-id")[0]
new_query = WebQuery.objects.create(user_id = request.user.id,
sent_to = selected_users,
user_query = query,
date_time = date_time,
conversation_id = query.conversation_id + 1)
(假设"id“是WebQuery
模型的主键)
不过,我不知道在Django模型中是否有自动执行此操作的方法。
https://stackoverflow.com/questions/18072586
复制