繁体   English   中英

django 模型字段检查实例

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM