是否有可能获得一个对象,该对象的某个字段与同一对象的另一个字段相关?
例如我想做的:
class Transfer(models.Model):
creation_time=models.IntegerField(default=0)
ttl=models.IntegerField(default=600)
alive_transfers = Transfer.objects.filter(creation_time__gt=time.time()-ttl)
最佳答案
对于简单的日期时间表达式,您可以使用 F 过滤器: https://docs.djangoproject.com/en/dev/topics/db/queries/#filters-can-reference-fields-on-the-model
来自文档:
>>> from datetime import timedelta
>>> Entry.objects.filter(mod_date__gt=F('pub_date') + timedelta(days=3))
如果您的过滤器涉及复杂的表达式,我建议使用 extra
子句:https://docs.djangoproject.com/en/dev/ref/models/querysets/#django.db.models.query.QuerySet.extra
当然,如果您对您的数据库后端有把握,那么这很有效。
关于mysql - Django:根据另一个字段/列获取具有字段/列的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25657055/