Django Mongodb ListField没有保存或更新

时间:2013-03-06 23:57:52

标签: python django mongodb django-models pymongo

我开始使用Django和MongoDB创建一个webapp。当我创建模型并将其保存到数据库中时,一切正常。现在,我做一个“Class.objects.get()”从我的数据库中获取我需要的对象,我有一个名为“media”的字段,它是一个ListField()。我曾经尝试过这样做:

Concert.media.append(list)

Concert.media.extend(list)

然后

Concert.save()

这是我的models.py中的“Concert”对象:

class Concert(models.Model):
main_artist = models.CharField(max_length=50)
concert_id = models.AutoField(primary_key=True)
openers = ListField(EmbeddedModelField('Opener'))
concert_date = models.DateField()
slug = models.SlugField(unique=True)
media = ListField()

当我去看结果时不会更新对象。没有保存的值。如果有人可以帮助我,我会给一个超级网络拳头撞击。

1 个答案:

答案 0 :(得分:1)

Concert是一个类,而不是一个实例。你不能保存课程。你需要创建一个类的实例并保存它。像

这样的东西
c = Concert()
c.media.append(list)
c.save()

(顺便说一句,就像一个注释,list是一个错误的变量名,因为list是python中的一个类型。永远不要使用类型作为变量名(虽然每个人都在这个或那个地方犯了这个罪,包括我。))