是否可以在ArrayModelField中嵌入ArrayModelField?

时间:2019-05-09 05:44:33

标签: django mongodb djongo

我正在使用django使用djongo连接到MongoDB数据库的项目。我有一些模型和抽象模型,它们作为ArrayModelFields嵌入。但是,当我尝试在依次被引用为ArrayModelField的模型中使用ArrayModelField时,得到的“ nonetype”对象是不可迭代的(不确定原因)。

在这种情况下,我已经通过将两个模型(Grade&Detail)组合成一个模型来工作(在意识到不需要使用Grade模型之后),但是完全可以做我想做的事情最初要做?

在我尝试过djongo文档中列出的列表和数组的各种嵌入选项之前,没有其他作用。

class Grade(models.Model):
    kihon_Grade = models.CharField(max_length = 2, null = True)
    kata_Grade = models.CharField(max_length = 2, null = True)
    kumite_Grade = models.CharField(max_length = 2, null = True)
    class Meta:
        abstract = True

class Detail(models.Model):
    member = models.ForeignKey(to = Member, on_delete = None)
    rank = models.CharField(max_length = 10, null = True)
    grade = models.ArrayModelField(model_container = Grade, null = True)
    result = models.CharField(max_length = 10, null = True)
    class Meta:
        abstract = True

class Grading(models.Model):
    _id = models.ObjectIdField()
    examiner = models.CharField(max_length = 25, null = True)
    date = models.DateField(null = True, blank = True)
    detail = models.ArrayModelField(model_container=Detail, null=True, blank=True)
    def __str__(self):
        return self.date

我抛出了以下异常。

  

Django版本:2.0

     

异常类型:TypeError

     

异常值:“ NoneType”对象不可迭代

     

异常位置:     D:\ COMP405 \ COMP405 \ env \ lib \ site-packages \ djongo \ models \ fields.py在   has_changed,第329行

     

Python可执行文件:D:\ COMP405 \ COMP405 \ env \ Scripts \ python.exe

     

Python版本:3.7.2

0 个答案:

没有答案