关于django中的外键ForeignKey

今天在学习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

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

 

你可能感兴趣的:(关于django中的外键ForeignKey)