python - 在 ExpressionWrapper 中结合 Django DateField 和 TimeField 给出 TypeError: expected string or bytes-like object
问题描述
我有一个请求模型,它有一个插槽的外键
我的 Slot 模型如下所示:-
class Slot(models.Model):
day = models.DateField()
start_time = models.TimeField()
end_time = models.TimeField()
在我看来,我试图注释 day 和 start_time 字段以将它们与当前时间进行比较,
from django.db.models import DateTimeField, DateField, TimeField, ExpressionWrapper, F
pending_requests = Request.objects.annotate(
my_dt=ExpressionWrapper(
F('slot__day') + F('slot__start_time'),
output_field=DateTimeField()
)
)[0]
这给了我: TypeError: expected string or bytes-like object
当我将每个字段注释到其各自的字段类型时,它工作正常,
pending_requests = Request.objects.annotate(
my_dt=ExpressionWrapper(
F('slot__day'),
output_field=DateField()
)
)[0]
不确定我是否正确组合了这些字段或如何解决这个问题
解决方案
推荐阅读
- python - 要求用户从列表中输入一个值并使用该值从另一个列表中提取
- ruby-on-rails - SQLite3::ConstraintException: NOT NULL 约束失败:items.title: INSERT INTO "items" ("image", "created_at", "updated_at") VALUES (?, ?, ?)
- javascript - 将 GrapesJS 与 React JS 集成
- spring - Spring + H2 嵌入式 sql 脚本运行不正常
- dockerfile - 从一个 dockerfile 构建和部署,还是为每个目的使用不同的文件?
- jmeter - Java jar 文件(JWT 令牌生成器)需要在 jmeter 中导入,并且必须通过运行方法生成令牌并在一个测试步骤中使用它
- php - JQuery Ajax:购物车项目中的onchange应该改变总值
- android - 有没有办法在 Nativescript Vue 中使用 toString 和 Split 方法?
- emacs - TAB 键在 emacs 的暂存缓冲区中不起作用
- swift - 如何根据相同的id添加两行TableView