[英]django model field check instance
我有一个像
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
但在这里我变得虚假了。 有什么解决方法可以实现这一目标吗?
获取字段类型: Model._meta.get_field("fieldname")
你可以使用这个:
from django.db.models import DateTimeField if isinstance(MyModel._meta.get_field('updated_on'),DateTimeField): ...
我不知道为什么该字段中的数据不是您定义的数据。
但是你的问题是字段的类型和数据的类型不一样,你关心的是后者。 DateTimeField 中的数据类型是datetime.datetime
。
所以:
from datetime import datetime
if isinstance(m.updated_on, datetime):
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.