知道如何考虑此代码如何找到下一个即将到来的生日(基于Python / Mongoengine)
class User(mongoengine.Document):
(...)
birthday = DateTimeField()
我知道如何在普通SQL中执行此操作,但是我不知道如何使用这种语言执行此查询。
最佳答案
保存类似的内容可能会有一些好处:
class User(mongoengine.Document):
birthdate = DateTimeField()
birth_month = IntegerField()
birth_day = IntegerField()
然后查询每个月或下个月有bithrdays的人
current_month = datetime.now().month
current_day = datetime.now().day
next_month = (datetime.date.today() +
dateutil.relativedelta.relativedelta(months=1)).month
User.object.filter(Q(birth_month=current_month, birth_day__gte=current_day) |
Q(birth_month=next_month)).order_by('birthday')
上面的代码应该可以吸引从今天到下个月下一个生日的所有用户。开始编写解决方案,但失败了!,这个问题似乎很难解决,希望有人能提供更干净的解决方案
关于python - MongoEngine即将过生日,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20587896/