我有类似的模型
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
但是在这里我变得虚假了。 有什么解决方法可以实现此目的?
答案 0 :(得分:2)
要获取字段类型:
Model._meta.get_field("fieldname")
您可以使用此:
from django.db.models import DateTimeField
if isinstance(MyModel._meta.get_field('updated_on'),DateTimeField):
...
答案 1 :(得分:0)
我不知道为什么该字段中的数据将不同于您定义的数据。
但是您的问题是 field 的类型与 data 的类型不同,而后者正是您所关心的。 DateTimeField中的数据类型为datetime.datetime
。
所以:
from datetime import datetime
if isinstance(m.updated_on, datetime):
...