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程序封装为win32服务的方法

本文实例为大家分享了python程序封装为win32服务的具体代码,供大家参考,具体内容如下 # encoding=utf-8 import os import sys import...

Python编程实现两个文件夹里文件的对比功能示例【包含内容的对比】

本文实例讲述了Python编程实现两个文件夹里文件的对比功能。分享给大家供大家参考,具体如下: #-*-coding:utf-8-*- #======================...

Python学习之用pygal画世界地图实例

Python学习之用pygal画世界地图实例

有关pygal的介绍和安装,大家可以参阅《pip和pygal的安装实例教程》,然后利用pygal实现画世界地图。代码如下: #coding=utf-8 import json i...

举例讲解Python设计模式编程中对抽象工厂模式的运用

举例讲解Python设计模式编程中对抽象工厂模式的运用

抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 优点:易于交换“产品系列”,只要更改相应的工厂即可。 缺点:建立产品的时候很繁琐,需要增加和修改很多东...

Python 连接字符串(join %)

join 方法用于连接字符串数组 s = ['a', 'b', 'c', ...