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中列表元素转为数字的方法分析

本文实例讲述了Python中列表元素转为数字的方法。分享给大家供大家参考,具体如下: 有一个数字字符的列表: numbers = ['1', '5', '10', '8'] 想...

Python面向对象程序设计示例小结

本文实例讲述了Python面向对象程序设计。分享给大家供大家参考,具体如下: 示例1: #encoding:utf-8 '''example 1 class test: def...

python 将list转成字符串,中间用符号分隔的方法

如下所示: data = [1,2,3,4] print "|".join(str(i) for i in data) 如果data中有中文: import sys reloa...

浅析python继承与多重继承

记住以下几点: 直接子类化内置类型(如dict,list或str)容易出错,因为内置类型的方法通常会忽略用户覆盖的方法,不要子类化内置类型,用户自定义的类应该继承collections模...

PyQt5实现简单数据标注工具

PyQt5实现简单数据标注工具

本文实例为大家分享了PyQt5实现简单数据标注工具的具体代码,分类用,供大家参考,具体内容如下 第一个最大的图片是当前要标注的类别,接下来的两个图片是对接下来会出现的图片的预览(方便连...