ReferenceField和GenericReferenceField有什么区别?
在mongoengine的字段中
ReferenceField和GenericReferenceField有什么区别?这两个看起来很相似,能不能举个例子解释一下?
1 个回答
1
ReferenceField 是用来在特定模型上做引用的,而 GenericReferenceField 则是用来在多个不同模型上做引用的。
举个例子:假设一个人可以发帖子,但公司不能。不过,一个人或者公司都可以拥有一辆车。
class Person(Document):
name = StringField()
class Company(Document):
name = StringField()
class Post(Document):
owner = ReferenceField(Person) # it can be only reference to Person Model
class Car(Document):
owner = GenericReferenceField() # it can be a Reference to any Model