擅长:python、mysql、java
<p>另一个可能的解决办法是:</p>
<pre><code>from django.db.models import F, ExpressionWrapper
from django.db.models.functions import Now
Model.objects.annotate(
<b>delta = ExpressionWrapper(
Now() - F('date_of_birth'), output_field=models.DateTimeField()</b>
)
)
</code></pre>
<p>然后,<code>instance.delta</code>将是<code>datetime.timedelta(..)</code>实例,进一步处理需要一点<a href="https://stackoverflow.com/questions/765797/python-timedelta-in-years">math</a>。此外,Django doc还有一个类似的例子,<a href="https://docs.djangoproject.com/en/3.0/ref/models/expressions/#using-f-with-annotations" rel="nofollow noreferrer">check it out</a></p>