Django Djongo重新定义了ArrayModelField的结构
我正在定义使用。它看起来很棒,但是Django Djongo重新定义了ArrayModelField的结构,django,mongodb,django-models,djongo,Django,Mongodb,Django Models,Djongo,我正在定义使用。它看起来很棒,但是ArrayModelField的问题是我只能将其添加为对象数组,而不仅仅是平面列表。是否有任何方法可以将其添加为平面列表 示例: # models.py from djongo import models class Option(models.Model): option = models.CharField(max_length=100) class Meta: abstract = True def __str
ArrayModelField
的问题是我只能将其添加为对象数组,而不仅仅是平面列表。是否有任何方法可以将其添加为平面列表
示例:
# models.py
from djongo import models
class Option(models.Model):
option = models.CharField(max_length=100)
class Meta:
abstract = True
def __str__(self):
return self.option
class Quiz(models.Model):
_id = models.ObjectIdField()
question = models.TextField(null=True, blank=True)
options = models.ArrayModelField(model_container=Option)
answers = models.ArrayModelField(model_container=Option)
使用这个,我可以创建一个文档,如下所示
但我想用这种格式保存它
我希望视图也能在Django管理面板中解析
我现在有什么办法可以做到这一点吗
提前感谢。使用列表字段:
options=models.ListField()。话虽如此,您始终可以使用ListField
并为管理面板编写自定义视图,这是目前有效的解决方案。也看不到开发人员会在任何时间线内修复该问题。我不明白,如果您需要的格式是单独的模型,为什么需要单独的模型。为什么不是一个简单的ArrayField?我认为ArrayField是专为Postgres设计的。无论如何,我在Djongo找不到ArrayField。谢谢你的回答,Cob。不幸的是,我认为,这在Django管理面板中无法解析。我希望这是在管理面板中查看。为了能够在管理面板中查看它,您必须定义ModelForm类。在这里你可以看到如何做:是的!但如果模型表单类是一个平面列表,它就不起作用了。我最近也遇到了同样的问题,但换成了ArrayField,它似乎工作得很好。请检查:非常感谢,科布!我来看看。