我使用Python,Django,djongo和MongoDB。我创建了一个简单的模型,想要保存和删除我的网页上的文档。我设法保存它们(在DB中检查),_id是ObjectID类型。但是当我尝试删除它们时,我有AssertionError(无法删除对象,因为它的id属性设置为None)。对于文档d
,我通过d.pk
打印了pk并获得了正确的值,但是当我运行d._get_pk_val()
时输出为无。你知道如何让Django知道主键吗?
我试图通过_id = models.AutoField(primary_key=True)
在模型中分配pk但是_id仍然是ObjectID类型,但是delete()期望它是int()并且失败并返回错误(int()参数必须是字符串或数字,而不是ObjectID)。
我的模特:
class DevList(models.Model):
dev_num = models.CharField(max_length = 200)
dev_name = models.CharField(max_length = 200)
dev_descr = models.CharField(max_length = 200)
dev_type = models.CharField(max_length = 200)
我的观点使用简单的d.save()
and d.delete()
函数。
谢谢!