前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Django model 自定义指定主键

Django model 自定义指定主键

作者头像
用户4945346
发布2020-06-16 10:34:03
4.1K0
发布2020-06-16 10:34:03
举报
文章被收录于专栏:pythonista的日常

我最近在做一个新项目,数据工程师在数据库中已经新建了一些表,并且数据表中已经填充了数据,但是我用 django 写的项目中需要用到这些数据表,开发中我使用了 django 的 ORM ,所以需要创建模型 model ,但是有些数据表已经存在了,并且有些表的主键并不是 id 这个字段,django 是默认为模型添加 id 这个字段,并且设置为主键和让其自增。所以我最开始是对现有数据表的表结构进行更改,增加了 id 字段,并且为 id 赋值,将主键设置成id。后来因为数据表的主键变了,之前写的爬取数据的脚本出了一些问题,数据表出现了很多重复的数据。最后去重是通过 sql 语句进行去重处理的。

代码语言:javascript
复制
delete from video_data where id not in (
  select temp.min_id from (
    select min(id) min_id from video_data group by aweme_id
  ) as temp

回到标题,后来我在必应上搜了一下 django model 自定义主键,并且参考了 django 的官方文档,得到了解决办法。如果想自定义指定模型的主键,可以在想要设置为主键字段上设置参数 primary_key=True 。

例如:

代码语言:javascript
复制
aweme_id = models.BigIntegerField(verbose_name="作品id", db_index=True, primary_key=True)

这样,模型的主键就改成了 aweme_id 这个字段。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 pythonista的日常 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档