【问题标题】:Django how to use the List Field, not change to stringDjango如何使用列表字段,而不是更改为字符串
【发布时间】:2015-11-22 18:55:36
【问题描述】:

我想在 Django 的 mongoDB 中使用 List 字段。但是,当我使用它上传数据时,错误是 TypeError: 'in ' requires string as left operand, not NoneType 所以我回溯。我发现内置函数无法获取数据类型。但是,它是List

>>type(dataList)
<type 'list'>

我的表结构是:

class USER_Network(models.Model):
    name = models.CharField(max_length =100)
    user_id = models.CharField(max_length = 100)
    rows = ListField(models.CharField(max_length =200))
    species = models.CharField(max_length =100)
    creation_date = models.DateTimeField(auto_now=True)

我的上传是:

user_network = USER_Network.objects.create( name=networkname,\
                                            species = speciesId,\
                                            rows = dataList,\
                                            user_id = user)    

我仔细检查了,原因是列表。

【问题讨论】:

  • dataList 的内容有区别吗?您是否有可能在整个列表中有None,该字段只接受字符串?
  • 我不这么认为。因为当我使用 unicode(dataList) 时。它有效
  • unicode(dataList) 将列表转换为字符串。您应该通过在传递列表之前检查列表的内容来进行调试。
  • 我很确定dataList中没有None。它只是一个列表。@sirfz

标签: python django mongodb


【解决方案1】:

这个问题是由 MongoDB 引起的。基于 MongoDB 的 Django 与普通的不同。

【讨论】:

    猜你喜欢
    • 2021-11-02
    • 2010-12-18
    • 2014-11-02
    • 2013-01-15
    • 2012-02-24
    • 1970-01-01
    • 2018-07-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多