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的IDEL增加清屏功能实例

为idle增加一个清屏的扩展ClearWindow就可以了(在http://bugs.python.org/issue6143中可以看到这个扩展的说明)。 下面我说安装使用的方法。首先下...

分享一个可以生成各种进制格式IP的小工具实例代码

分享一个可以生成各种进制格式IP的小工具实例代码

前言 在开始本文之前,先来介绍一下相关内容,大家都知道一些防护SSRF漏洞的代码一般使用正则来判断访问IP是否为内部IP,比如下面这段网上比较常见的正则: if re.match(r...

django自定义模板标签过程解析

django自定义模板标签过程解析

这篇文章主要介绍了django自定义模板标签过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码布局 自定义模板标签必须位于...

Python unittest单元测试框架总结

什么是单元测试 单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作。 比如对于函数abs(),我们可以编写的测试用例为: (1)输入正数,比如1、1.2、0.99,期...

开源Web应用框架Django图文教程

开源Web应用框架Django图文教程

  本文面向:有python基础,刚接触web框架的初学者。   环境:windows7   python3.5.1  pycharm专业版  Django 1.10版  pip3 一、...