今天在学习django的过程中发现,当模型中有外键,
user = models.ForeignKey('users.User', on_delete=models.CASCADE, verbose_name='用户')
迁移到数据库之后,数据库中的字段名会自动补一个_id,
开始以为是migrate构造的,在migrate的源码中遍寻不到,
偶然居然在ForeignKey这个类中找到了
def get_attname(self):
return '%s_id' % self.name
这个方法是django.db中models中的方法
from django.db import models
所以只要重写该方法就可以实现自己的需求