Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 获取django模型属性的类型_Python_Django_Django Unittest - Fatal编程技术网

Python 获取django模型属性的类型

Python 获取django模型属性的类型,python,django,django-unittest,Python,Django,Django Unittest,我正在使用django的unittest框架的包装器为django编写一些模式测试 我想检查一个字段是否总是DateTimeField,而不是DateField。因此,我尝试了以下方法: class TestSuite(TestCase): def test_for_correct_datetype(self): self.assertTrue(isinstance(Obj.time, models.DateTimeField)) 因为以前: class Obj(mod

我正在使用django的
unittest
框架的包装器为django编写一些模式测试

我想检查一个字段是否总是
DateTimeField
,而不是
DateField
。因此,我尝试了以下方法:

class TestSuite(TestCase):
    def test_for_correct_datetype(self):
        self.assertTrue(isinstance(Obj.time, models.DateTimeField))
因为以前:

class Obj(models.Model):
    ....
    time = models.DateTimeField()
注意:有几个答案说使用
getattr
,但它对我也不起作用

如何使
self.assertTrue()
工作?

您可以使用模型元API中的方法:

from django.db import models

class TestSuite(TestCase):
    def test_for_correct_datetype(self):
        self.assertTrue(isinstance(Obj._meta.get_field('time'), models.DateTimeField))

提示:如果您想检查类型,可以使用