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编写一个图片主色转换的脚本

利用python编写一个图片主色转换的脚本

前言 最近由于项目特需老是替换主题颜色,同时app里一些资源icon图片主色也要改,美工不提供切图只能靠自己了,开始想在iconfont上面找但是数量比较多太浪费时间,然后就想到pyth...

ubuntu17.4下为python和python3装上pip的方法

如果刚装上ubuntu会发现自带了python2和python3,但是发现系统没有带pip,所以输入下面的命令分别给他们装上pip: sudo apt-get install pyt...

在Python的Django框架中创建和使用模版

如何使用模板系统 让我们深入研究模板系统,你将会明白它是如何工作的。但我们暂不打算将它与先前创建的视图结合在一起,因为我们现在的目的是了解它是如何独立工作的。 。 (换言之, 通常你会将...

示例详解Python3 or Python2 两者之间的差异

示例详解Python3 or Python2 两者之间的差异

每门编程语言在发布更新之后,主要版本之间都会发生很大的变化。 在本文中,Vinodh Kumar 通过示例解释了 Python 2 和 Python 3 之间的一些重大差异,以帮助说明语...

Python创建xml文件示例

本文实例讲述了Python创建xml文件的方法。分享给大家供大家参考,具体如下: 这是一个使用ElementTree有关类库,生成xml文件的例子 # *-* coding=utf-...