天天看点

关于django中的外键ForeignKey

今天在学习django的过程中发现,当模型中有外键,

user = models.ForeignKey('users.User', on_delete=models.CASCADE, verbose_name='用户')
           

迁移到数据库之后,数据库中的字段名会自动补一个_id,

关于django中的外键ForeignKey

开始以为是migrate构造的,在migrate的源码中遍寻不到,

偶然居然在ForeignKey这个类中找到了

def get_attname(self):
        return '%s_id' % self.name
           

这个方法是django.db中models中的方法 

from django.db import models
           

所以只要重写该方法就可以实现自己的需求