0
に動作していないジャンゴNaturaltimeは.annotate私はちょうどそれが作成されますので、経過どのくらいの時間を言って、人間が読める形式を与えるモデルにフィールドに注釈を付けたい。ここ
My Model is created 30 seconds ago
マイモデルキーワード:
from django.db import models
class MyModel(models.Model):
name = models.CharField(max_length=100)
created_at = models.DateTimeField(auto_now_add=True)
class Meta:
ordering = ['-created_at']
@property
def natural_time(self):
return naturaltime(self.created_at)
私が何をしたか
私はを取得していますここでは、この印刷コールに
from django.contrib.humanize.templatetags.humanize import naturaltime
from django.db.models import F
from .models import MyModel
m = MyModel.objects.annotate(timesincecreated=naturaltime(F('created_at'))
print m.values('timesincecreated')
です私がモデルで使った。 しかし、そのプロパティにアクセスしたい場合。
from .models import MyModel
m= MyModel.objects.first()
print m.natural_time
これは機能します。
助けが必要ですか? TIA。
はい私は後でそれを発見しました。私はそれがそのまま日付を渡すだろうと思います。私はフロントエンドに '' 'moment.js'''を使ってそれを行うべきだと思います。 –
あなたは日付として渡すことができますし、 'naturaltime'または' timesince'をテンプレートに使用します。これはjavascriptで行う必要はありません。 –
私はREST Apiを構築しています。フロントエンドは他のフレームワークを使用しています。だから私はそれが私が持つことができる唯一の解決策だと思う。 –