isinstance()arg 2必须是Django中类型错误的类型或元组

时间:2019-08-05 14:47:59

标签: python django mongodb django-models django-rest-framework

使用Django Rest Framework时,我不断收到此错误:

isinstance() arg 2 must be a type or tuple of types

这是我的模特:

class mymodel(models.Model):
    firstfield = models.ArrayModelField(models.FloatField())
    secondfield = models.ArrayModelField(models.FloatField())

    def save(self, *args, using=None, **kwargs):
        super(mymodel, self).save(*args, using='mydb', **kwargs)

这是我的数据:

id: 'some id here'
firstfield: ['somefloat', 'somefloat'], ['another float', 'another float'] ...
secondfield: ['somefloat', 'somefloat'], ['another float', 'another float'] ...

我认为问题出在我的MongoDB数据上。基本上,firstfield和“ secondfield”都是列表,包含其他列表,每个列表都有两个浮点数。每一个解决此问题的建议都值得赞赏

1 个答案:

答案 0 :(得分:0)

ArrayModelField [Djongo-doc]上的文档说:

  

使用MongoDB,父文档中可以有一个嵌入式文档数组。您可以在父模型中创建嵌入的模型数组/列表,并将其直接存储到MongoDB中。

因此,它用于存储模型对象的集合,而不是浮点数等。您可以为此使用ListField [Djongo-doc]