我正在使用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