簡體   English   中英

Django 過濾日期時間,帶時區字段,僅帶日期

[英]Django filter datetime with timezone field with date only

我在 django model 中有一個字段:“created_at”,它是帶有時區的日期時間(例如:2022-08-09 14:03:18.467482+02)。 在我的應用程序中,我有一個表單,用戶僅選擇日期(例如:2022-06-09)。

我正在嘗試在我的視圖中過濾該字段,如下所示:

res = MyObject.objects.all()
res = res.filter(created_at = date)

我收到以下錯誤: RuntimeWarning: DateTimeField Mybject.created_at received a naive datetime (2022-06-09 00:00:00) while time zone support is active.

用用戶輸入日期過濾我的 object 的最佳方法是什么? 我是否需要將時區添加到用戶選擇的日期以及如何添加?

嘗試將.date()添加到 Created_at 它應該將時區 object 轉換為日期

設法解決這個問題,正確的語法是像這樣添加雙下划線:

res = res.filter(created_at__date = date)

日期時間具有created_at.datecreated_at.time屬性

res = MyObject.objects.all()
res = res.filter(created_at.date = date)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM