首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Djongo模型中定义mongodb ArrayField

如何在Djongo模型中定义mongodb ArrayField
EN

Stack Overflow用户
提问于 2021-08-04 13:04:17
回答 1查看 88关注 0票数 0
代码语言:javascript
复制
class question(models.Model):
    question_id = models.IntegerField()
    choice = models.CharField(max_length=100)
    tags = models.ArrayField(models.CharField(max_length=100))

错误:

代码语言:javascript
复制
packages\djongo\models\fields.py", line 116, in _validate_container
for field in self.model_container._meta._get_fields(reverse=False):
    AttributeError: 'CharField' object has no attribute '_meta'

我想使用djongo模型在我的模型中添加一个ArrayField。我希望‘标签’看起来像‘标签1’,‘标签2’,'tag3‘.但是djongo请求model_container,但我只想要一个数组包含字符串,而不是模型,请帮助~~

EN

回答 1

Stack Overflow用户

发布于 2022-07-01 18:53:47

我也遇到过类似的情况:想要创建一个IntegerField数组。我用这个方法解决了这个问题:

创建一个存储字段的中间模型。

例如,对于我的用例(以每秒表示数量的整数),我创建了一个名为Second的模型,该模型包含一个名为datamodels.IntegerField()类型的属性。

代码语言:javascript
复制
class Second(models.Model):
    data = models.IntegerField(null=False)

    class Meta:
        abstract = True

class ParentModel(models.Model):
    _id = models.ObjectIdField()

    by_second = models.ArrayField(
      model_container=Second
    )

    objects = models.DjongoManager()

因此,我想在您的例子中,您可以使用相同的但通过models.CharField(max_length=100)更改models.IntegerField()

我知道这个问题问了很久了,但我希望这能帮助有这个问题的人:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68651757

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档