千家信息网

Django model怎么自定义指定主键

发表于:2024-11-26 作者:千家信息网编辑
千家信息网最后更新 2024年11月26日,本篇内容介绍了"Django model怎么自定义指定主键"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所
千家信息网最后更新 2024年11月26日Django model怎么自定义指定主键

本篇内容介绍了"Django model怎么自定义指定主键"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

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

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 。

例如:


aweme_id = models.BigIntegerField(verbose_name="作品id", db_index=True, primary_key=True)

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

"Django model怎么自定义指定主键"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

0