Python django模型字段检查实例

Python django模型字段检查实例,python,django,django-models,Python,Django,Django Models,我有一个像这样的模型 class MyModel(models.Model): name = models.CharField() updated_on = models.DateTimeField() 现在我这样质疑 m = MyModel.objets.get(id=2) 这里我想检查字段是否属于某种类型,我想做一些类似的事情 from django.db.models import DateTimeField if isinstance(m.updated_on, D

我有一个像这样的模型

class MyModel(models.Model):
    name = models.CharField()
    updated_on = models.DateTimeField()
现在我这样质疑

m = MyModel.objets.get(id=2)
这里我想检查字段是否属于某种类型,我想做一些类似的事情

from django.db.models import DateTimeField

if isinstance(m.updated_on, DateTimeField):
    // do something
但在这里,我变得虚假。
是否有任何解决方法可以实现这一点???

我不知道为什么字段中的数据不是您定义的数据

但您的问题是字段的类型和数据的类型不同,您关心的是后者。datetime字段中的数据类型为
datetime.datetime

因此:

要获取字段的类型,请执行以下操作:
Model.\u meta.get\u字段(“字段名”)

您可以使用以下选项:

来自django.db.models导入日期时间字段
如果isinstance(MyModel.\u meta.get\u字段('Update\u on'),DateTime字段):

元类。。。非常混乱。:-)实例化后,
updated\u on
不是
datetime字段
。它是一个
datetime.datetime
。请参阅:您可以查询对象的类,但这没有意义,因为类型不会更改。OP可能希望使用内省编写通用机制。@DanielRoseman我不想检查
datetime
。让我们说一下它的
FileField
。如果它是文件字段的实例,我想返回字段的url。
from datetime import datetime
if isinstance(m.updated_on, datetime):
    ...