q = FreeStuff.all().filter('url =', None)
result = q.fetch(1000)
if result :
for freestuff in result:
freestuff.delete()
None以外のものを取り出したい場合は、filter('url >', None)でOK。それはそれで納得出来る。けど、私は納得できないところでハマッたのでメモしておこう。
filter('url=', None) とすると、resultの件数が0件だった。(App Engine SDK 1.3.4で確認)
何が違うかというと、「url」と「=」の間にスペースを入れてないのだ。
デリケートすぎるぞこのやろう。いっそエラーにしてくれ。