我有一個模型UnitPattern,它引用另一個模型UnitPatternSet如何在Google應用引擎數據庫中使用空引用過濾行
例如,
class UnitPattern(db.Model):
unit_pattern_set = db.ReferenceProperty(UnitPatternSet)
在我看來
我想顯示具有unit_pattern_set refrences爲無所有UnitPatterns,但查詢UnitPattern.all()。濾波器( 「unit_pattern_set =」 none)返回什麼,雖然我總5個UnitPatterns,出其中2個具有'unit_pattern_set'集並且3個不具有
例如
print 'Total',UnitPattern.all().count()
print 'ref set',UnitPattern.all().filter("unit_pattern_set !=", None).count()
print 'ref not set',UnitPattern.all().filter("unit_pattern_set =", None).count()
輸出:
Total 5
ref set 2
ref not set 0
不應查詢2和3的總和等於1查詢?
原因似乎是我稍後添加了引用屬性unit_pattern_set,並且這些UnitPattern對象在此之前存在,但是如何過濾這些實體?
不完全正確:如果未提供任何值,則默認爲None,並且_is_存儲並且_can_可被過濾。不需要顯式設置默認值爲None。 – 2010-01-13 15:16:07
@nick:好點。我已經採取了一點。 – 2010-01-13 22:10:31