使用MongoAlchemy,是否可以拥有一个可以是两种类型之一的DocumentField? E.g:
strict-math
我想到了一些可行的选项:
class A(Document):
foo = StringField()
class B(Document):
bar = StringField()
class C(Document):
child = DocumentField(A or B)
和A
一个共同的父母,然后B
。child = DocumentField(CommonParent)
的自定义Field
,但更改验证程序以搜索类型列表,而不是一个。DocumentField
即可。有点打败了这一点。但是想知道它是否已经完成了?
答案 0 :(得分:0)
有一个我从未合并过的分支(虽然我确实使用了一段时间),我实现了多态类型:
https://github.com/jeffjenkins/MongoAlchemy/tree/poly-queries
如果您愿意做一些错误修复,这是一个不错的选择。
否则,最简单的方法是实现自定义字段。我怀疑创建一个常规字段可能更容易,该字段将try
列表作为输入,这可以区分而不是混淆DocumentField(这是多态分支所做的,但更复杂)。 / p>