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

yipeiwu_com6年前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的“二维”字典 (two-dimension dictionary)定义与实现方法

本文实例讲述了Python的“二维”字典 (two-dimension dictionary)定义与实现方法。分享给大家供大家参考,具体如下: Python 中的dict可以实现迅速查找...

深度辨析Python的eval()与exec()的方法

Python 提供了很多内置的工具函数(Built-in Functions),在最新的 Python 3 官方文档中,它列出了 69 个。 大部分函数是我们经常使用的,例如 print...

Golang GBK转UTF-8的例子

问题:在 Golang 的调试过程中出现中文乱码 原因:Golang 默认不支持 UTF-8 以外的字符集 解决:将字符串的编码转换成UTF-8 首先需要 mahonia 这个包...

python 连接sqlite及简单操作

废话不多说了,直接给大家贴代码了,具体代码如下所示: import sqlite3 #查询 def load(table): #连接数据库 con = sqlite3.con...

Django之路由层的实现

Django之路由层的实现

URL配置(URLconf)就像Django所支撑网站的目录。它的本指是URL与要为该URL调用的视图函数之间的映射表,你就是以这种方式告诉Django,对于客户端发来的某个URL调用哪...