2015-01-05 34 views
-1

我需要得到一個模型的所有外鍵名稱的所有外鍵的名稱。例如,如果一個模型名稱是userprofile,並且它具有user,customer,comment作爲外鍵意味着通過單個代碼,我想獲取userprofile模型的所有外鍵名稱。的Django得到的模型

感謝

+0

[請閱讀本文](http://whathaveyoutried.com) – Barranka

+0

@Zeeker我試過[k.name for K的obj._meta._field_name_cache如果 'foreign_related_fields' 的dir(K)] – rajapallavan

+0

@Zeeker我想這對於k太[k.name在obj._meta._field_name_cache如果k .__類__.__ name__ == 「ForeignKey的」] – rajapallavan

回答

1

你可以找到像這樣的關係: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' 
+0

' get_all_related_objects'已被棄用,不再存在開始使用Django 1.10 https://docs.djangoproject.com/en/1.10/ref/models/meta/#migrating-from-the-old-api –