首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django AutoField增量

Django AutoField增量
EN

Stack Overflow用户
提问于 2013-08-06 13:45:58
回答 1查看 1.2K关注 0票数 0

嗯,我想自动递增一个不是主键的模型字段conversation-id。目前,我使用的是以下几行代码,效率非常低。

代码语言:javascript
复制
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重复的数据

对于同样的问题,有没有更好更有效的方法呢?

EN

回答 1

Stack Overflow用户

发布于 2013-08-06 14:00:21

你可以从这里获取最后一个对象并递增:

代码语言:javascript
复制
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模型中是否有自动执行此操作的方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18072586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档