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基于递归算法实现的汉诺塔与Fibonacci数列示例

Python基于递归算法实现的汉诺塔与Fibonacci数列示例

本文实例讲述了Python基于递归算法实现的汉诺塔与Fibonacci数列。分享给大家供大家参考,具体如下: 这里我们通过2个例子,学习python中递归的使用。 1. 找出Fibona...

python使用xlrd实现检索excel中某列含有指定字符串记录的方法

本文实例讲述了python使用xlrd实现检索excel中某列含有指定字符串记录的方法。分享给大家供大家参考。具体分析如下: 这里利用xlrd,将excel中某列数据中,含有指定字符串的...

举例详解Python中循环语句的嵌套使用

 Python编程语言允许在一个循环内嵌套另一个循环。下面将介绍几个例子来说明这一概念。 语法 在Python中嵌套循环语句的语法如下: for iterating_var...

基于h5py的使用及数据封装代码

1. h5py简单介绍 h5py文件是存放两类对象的容器,数据集(dataset)和组(group),dataset类似数组类的数据集合,和numpy的数组差不多。group是像文件夹一...

如何优雅地改进Django中的模板碎片缓存详解

如何优雅地改进Django中的模板碎片缓存详解

前言 本文主页给大家介绍了关于如何改进Django中模板碎片缓存的相关内容,关于Django模板碎片缓存大家可以先看看这篇文章,下面话不多说了,来一起看看详细的介绍吧 起步 Djang...