我正在尝试使用模型字段的某些属性创建字典,因此我按照this question的答案获取ForeignKey
字段引用的模型的名称,但是我收到错误{ {1}}。
这是我的代码:
AttributeError: 'ForeignKey' object has no attribute 'rel'
我找不到我错过的东西。
答案 0 :(得分:1)
您需要直接使用get_fields来检索模型的字段实例,这样可以简化您的代码。
def get_fields_meta(model, field_names):
fields_meta = []
fields = [f for f in model._meta.get_fields(include_hidden=True) if f.name in field_names]
for field in fields:
field_meta = {}
field_meta['name'] = field.name
field_meta['title'] = force_text(field.verbose_name)
field_meta['type'] = field.get_internal_type()
if field_meta['type'] == 'ForeignKey':
field_meta['rel_model'] = field.remote_field.model
field_meta['null'] = field.null
field_meta['max_legth'] = field.max_length
fields_meta.append(field_meta)
return fields_meta