任意の日に1日に1つのエンティティしか作成できないアプリを作成しています。こちらのモデルは次のとおりです。エンティティが「今日」作成されているかどうかを確認
class MyModel(ndb.Model):
created = ndb.DateTimeProperty(auto_now_add=True)
1つのエンティティのみが日ごとに作成することが許可されているので、我々は今日の日付にMyModel.createdプロパティを比較する必要があります。
import datetime
class CreateEntity(webapp2.RequestHandler):
def get(self):
today = datetime.datetime.today()
my_model = MyModel.query(MyModel.created == today).get()
if my_model:
# print("Today's entity already exists")
else:
# create today's new entity
問題はそのIでありますこのような2つの日付を比較することはできません。エンティティがすでに「今日」作成されているかどうかを確認するにはどうすればよいですか?
どうしてこのような2つの日付を比較できませんか?エラーメッセージが表示されますか? –
@TammoHeeren、新しく作成されたdatatimeオブジェクトには、毎秒異なる「秒」値が含まれているため、比較ではほとんど常にfalseが返されます。これを回避するために、私は 'DateTimeProperty'の代わりに' DateProperty'を使いました(以下の私自身の答えを見てください)。 – puoyaahhh