【发布时间】:2017-09-04 03:32:39
【问题描述】:
我正在使用 MongoDB 和 Djongo(将 Mongo 与 Django 连接)在 Python、Django 上编写一个网站,我希望能够使用我的网站从数据库中添加和删除文档。但我在执行此操作时出错。
如果我没有在我的模型中设置主键,那么我可以成功添加文档,但是当尝试删除时出现 AssertionError(无法删除对象,因为它的 id 属性设置为 None),但是当我检查数据库_ID 字段是自动创建的。如果我在 models.py 中通过primary_key = True 设置主键,我可以成功删除一个文档,但在插入时我得到了 AssertionError(未提供异常消息)。
另外,如果没有设置主键,那么我无法从管理面板访问文档,但可以将它们添加到数据库中(通过管理面板);如果设置了 pk,那么我可以从管理面板访问、删除和编辑,但不能将新文档添加到数据库中。
这是我的模型:
class DevList(models.Model):
dev_num = models.CharField(max_length = 200 , primary_key = True)
dev_name = models.CharField(max_length = 200)
dev_descr = models.CharField(max_length = 200)
dev_type = models.CharField(max_length = 200)
如果没有设置pk,那么我删除primary_key = True这一行
我的视图是简单的帖子形式,我使用d.save() 保存并使用d.delete() 删除。
【问题讨论】:
-
想知道您是否找到了答案。我也在为同样的事情苦苦挣扎。
标签: python django mongodb djongo