我需要获取一个模型的所有外键名称。比如说,如果一个模型的名称是UserProfile
,它有user
,customer
和comment
作为外键,那么我想通过一个简单的代码来获取UserProfile
模型的所有外键名称。
我需要获取一个模型的所有外键名称。比如说,如果一个模型的名称是UserProfile
,它有user
,customer
和comment
作为外键,那么我想通过一个简单的代码来获取UserProfile
模型的所有外键名称。
您可以这样查找关系:UserProfile._meta.get_all_related_objects()
您可以直接通过UserProfile._meta.fields
迭代模型字段
您可以通过field.get_internal_type()
确定字段类型
for field in UserProfile._meta.fields:
if field.get_internal_type() == 'ForeignKey':
print 'found a foreign key'
get_all_related_objects
已经被弃用,自 Django 1.10 版本开始不再存在。详情请见:https://docs.djangoproject.com/en/1.10/ref/models/meta/#migrating-from-the-old-api - Cristina Botezfields = [field for field in YourModel._meta.fields if field.get_internal_type() == 'ForeignKey']
。该代码会筛选出YourModel中所有数据类型为“ForeignKey”的字段并将它们存储到列表“fields”中。 - radtek