Django选项没有_name_map属性

时间:2013-06-26 17:35:19

标签: python django

我在数据库中有一个表:

models.py

class Board(models.Model):
 ...

现在从python shell(manage.py shell),我可以做到:

Board._meta._name_map

但我无法在我的views.py中访问它:

a = Board._meta._name_map

错误:

'Options' object has no attribute '_name_map'

也可能缺少其他一些属性,为什么呢?如何访问此_name_map信息?

1 个答案:

答案 0 :(得分:1)

_name_map是一个缓存,而不是你可以依赖的东西。

我认为你会更好:

for field in Board._meta.fields:
    if isinstance(field, ForeignKey):
        k = field.name
        # then whatever

至少假设您还不知道所需字段的名称,因为您说get_field_by_name无效。