Django 实现外键去除自动添加的后缀‘_id’

yipeiwu_com7年前Python基础

django在使用外键ForeignKey的时候,会自动给当前字段后面添加一个后缀_id。

正常来说这样并不会影响使用。除非你要写原生sql,还有就是这个表是已经存在的,你只是把数据库中的表映射回models。实际上django提供了这样的一个关键字db_colnum来解决这个问题,你只需要:

f = models.ForeignKey(AnotherModel, db_column='f')

这样就不会自动添加_id这个后缀了。

文档中是这么解释的:

The name of the database column to use for this field. If this isn't given, Django will use the field's name.
If your database column name is an SQL reserved word, or contains characters that aren't allowed in Python variable names – notably, the hyphen – that's OK. Django quotes column and table names behind the scenes.

https://docs.djangoproject.com/en/dev/ref/models/fields/

以上这篇Django 实现外键去除自动添加的后缀‘_id'就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python文件夹与文件的相关操作(推荐)

最近在写的程序频繁地与文件操作打交道,这块比较弱,还好在百度上找到一篇不错的文章,这是原文传送门,我对原文稍做了些改动。 有关文件夹与文件的查找,删除等功能 在 os ...

Python中交换两个元素的实现方法

Python既具有普通程序开发语言的特点,也具有Matlab语言用于数值计算的特点,,当然了数值计算是由其其强大的第三方库numpy实现的,矩阵在python中数据类型是ndarray,...

Python实现的远程文件自动打包并下载功能示例

本文实例讲述了Python实现的远程文件自动打包并下载功能。分享给大家供大家参考,具体如下: 一 点睛 在Linux系统集群运营当中,时常需要批量远程执行Linux命令,并且双向同步文件...

Python列表list操作符实例分析【标准类型操作符、切片、连接字符、列表解析、重复操作等】

Python列表list操作符实例分析【标准类型操作符、切片、连接字符、列表解析、重复操作等】

本文实例讲述了Python列表list操作符。分享给大家供大家参考,具体如下: #coding=utf8 ''''' 列表也可以使用比较操作符,比较时更加ASCII进行比较的。 比较...

Python实现批量修改文件名实例

本文实例讲述了Python实现批量修改文件名的方法。分享给大家供大家参考。具体如下: 下载了评书《贺龙传奇》,文件名中却都含有xxx有声下载,用脚本将其去掉。脚本涉及os.rename重...