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):
...