一尘不染

如何从Django的数据库模型中获取字段类型字符串

django

我正在执行以下操作:

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

返回以下内容:

<bound method URLField.get_internal_type of <django.db.models.fields.URLField: g>>

我只想知道此字段是“ URLField”。如何从此输出中提取出来?

注意:我这样做是为了对字段进行验证。例如,如果是url,我想检查它是否格式正确。


阅读 971

收藏
2020-03-31

共1个答案

一尘不染

如果你这样做:

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

结果你可能无法获得。

相反,你正在这样做:

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

其中,作为解释在这里,不调用该方法,它只是指的是方法绑定方法的对象。返回值不是该绑定方法对象的一部分,它是在调用方法时由方法创建的。因此,你必须调用它。因此,你需要括号。

2020-03-31