我正在使用 django 连接到使用 djongo 的 MongoDB 数据库的项目。我有一些模型和一些抽象模型,我嵌入为 ArrayModelFields。但是,当我尝试在模型中使用 ArrayModelField 时,该模型又被称为 ArrayModelField,我得到一个“nonetype”对象不可迭代(不知道为什么)。
在这种情况下,我已经通过将两个模型(等级和细节)合并为一个来使系统工作(在意识到等级模型不需要存在之后),但是有可能做我最初想做的事情?
在我尝试了 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 in has_changed,第 329 行
Python 可执行文件:D:\COMP405\COMP405\env\Scripts\python.exe
Python版本:3.7.2