如何在django中获取用于验证的模型字段类型

如何在django中获取用于验证的模型字段类型,django,django-models,Django,Django Models,我试过: field = model._meta.get_field_by_name(field_name)[0] my_type = field.get_internal_type 这不起作用,因为它会返回一些绑定方法,如: <bound method URLField.get_internal_type of <django.db.models.fields.URLField:my_url>> 我想要一些我可以用的东西,比如CharField、URLField

我试过:

field = model._meta.get_field_by_name(field_name)[0]
my_type = field.get_internal_type
这不起作用,因为它会返回一些绑定方法,如:

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

我想要一些我可以用的东西,比如CharField、URLField、DoubleField等等


如何获取类似于URLField的内容,以便验证url的格式是否正确(例如?

在Python中,如果要调用函数或方法,必须在参数周围使用括号。如果没有参数,只使用空括号

您所做的只是引用方法本身,而不是调用它

下面是一个简化的示例:

>>> def foo():
...     return 3
>>> foo()
3
>>> foo
<function __main__.foo>


*好的,在这种情况下,因为函数总是返回一个常量值,所以可以通过从源代码或
func\u code.co\u consts
元组中提取它。但显然,这在一般情况下是行不通的;例如,如果您想获取
datetime.now()
的值,它不会存储在
now
方法中的任何位置,而是在调用该方法时动态生成的。

您最近没有问过这个问题吗?
my_type = field.get_internal_type()