我在数据库中有一个表:
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信息?
答案 0 :(得分:1)
_name_map
是一个缓存,而不是你可以依赖的东西。
我认为你会更好:
for field in Board._meta.fields:
if isinstance(field, ForeignKey):
k = field.name
# then whatever
至少假设您还不知道所需字段的名称,因为您说get_field_by_name
无效。