我有一个以前填充了没有_cls
字段的文档的集合
例如,现在我用以下类填充集合:
class SomeAnimal(MongoModel):
ID = fields.CharField(primary_key=True, validators=[UUID])
dob = fields.DateTimeField()
class Meta:
write_concern = WriteConcern(j=True)
collection_name = COLLECTION_NAME
class Pet(Animal):
name = fields.CharField(blank=True)
和Pet.objects.all()
只返回从此脚本添加的文档(带有{'_cls':'Pet'}
属性)
有没有可能用Pymodm获取这些文档,或者这个案例打破了使用ORM的所有感觉,最好切换到pymongo
从文档: 这是怎么回事?对于每个允许继承的模型类,pymodm都会创建另一个名为_cls的隐藏字段,该字段存储文档引用的模型类。这样,不同类型的模型可以在同一个集合中并置,同时保留类型信息
如果我们不想在文档中存储此_cls字段,该怎么办?这可以通过将模型声明为final来实现,这意味着它必须直接从MongoModel继承,并且不能扩展:
相关问题 更多 >
编程相关推荐