Django在外键字段中添加下划线,有没有办法删除它?

Posted

技术标签:

【中文标题】Django在外键字段中添加下划线,有没有办法删除它?【英文标题】:Django add an underscore in Foreign key field, is there a way to remove it? 【发布时间】:2016-06-08 02:20:08 【问题描述】:

我为作为 UserRole 表外键的用户模型定义了一个字段角色

role = models.ForeignKey(UserRole, on_delete=models.CASCADE, default=None, blank=True)

当我运行 migrate 命令时,它会在 mysql DB 中创建包含所有字段但外键包含下划线的表 -

role_id

我需要遵循所有字段名称不带下划线的约定。那么有人可以指导如何解决这个问题吗?

谢谢!

【问题讨论】:

【参考方案1】:

是的,您可以通过指定 db_column (django-docs) 来更改此设置

role = models.ForeignKey(UserRole, on_delete=models.CASCADE, default=None, blank=True, db_column='roleid')

【讨论】:

以上是关于Django在外键字段中添加下划线,有没有办法删除它?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 django ORM 在外键字段上连接两个表?

当 Django Admin Popup(添加、更新、删除)完成时,有没有办法调用 Javascript 函数?

Django——model基础

如何在 django admin change_form 中更改外键字段的顺序

如何按照约定首先删除代码中外键字段的下划线

django admin外键字段选择后如何关联显示另一个字段?