我可以从Django中的模型查询集中获取模型字段类型吗?

时间:2010-09-11 16:41:37

标签: django django-models

我可以从Django中的模型查询集中获取模型字段类型吗?

例如: ab模型的查询集,b模型包含以下字段:

  • f:charfield
  • g:foreignkey
  • H:多对多

有没有办法从查询集g获取字段a的类型? THX。

2 个答案:

答案 0 :(得分:35)

我有答案:

a.model._meta.get_field('g').get_internal_type()

答案 1 :(得分:1)

fields = [f.attname for f in Experience._meta.fields]
file_fields = []
print("FILE FIELDS : ", fields)
for field in fields:
    get_type = Experience._meta.get_field(field)
    print("GET TYPE :", get_type)
    field_type = get_type.__class__.__name__
    print(field, "FILE TYPE : ", field_type)
    if field_type == "FileField":
        file_fields.append(field)

这段代码可以获取django模型的字段类型。