1

Task という名前のモデルがあり、queryset 関数で、時間のフィルターですべてのタスクを取得したい、フィルター処理したい (タスクの終了時刻は今より前)

以下はコードですが、これは機能するようになりました。フィルターの後にタスクは表示されません。

EstEndTime = models.DateTimeField('End Time', null=True)

def queryset(self, request, queryset):
    from django.utils import timezone
    now = timezone.now()
    return queryset.filter(Owner=str(current_user_name),EstEndTime = now)
4

1 に答える 1

4

これにより、正確に作成されたアイテムのみが返されます (データベースによってはマイクロ秒の精度まで)。

あなたはおそらくこれを探しています:

queryset.filter(EstEndTime__lte=now)

記録として、フィールドに名前EstEndTimeを付けることは Django (およびその点では Python) の命名規則に反するため、次のような命名パターンを使用することをお勧めします。est_end_time

于 2012-11-29T03:06:35.490 に答える