0

当我尝试插入一些值时,是否可以强制 django 进行子查询?这会产生两个单独的查询:

CommunicationLog.objects.create(
    device='asdfasdf', 
    date_request=CommunicationLog.objects.get(pk=343).date_request, 
    content_obj_id=338, type_request=1, type_change=2
)
4

2 回答 2

3

你绝对不能通过使用来做到这一点create。没有可用的 API 可以让您这样做,因为这是非常不寻常的用例。您必须退回到原始 sql。

于 2013-10-30T15:46:16.433 回答
0

即使 API 不允许你做你想做的事,你仍然可以通过在查询日期时使用.only方法来稍微提高性能(我认为这是你的意图):

CommunicationLog.objects.create(
    device='asdfasdf', 
    date_request=CommunicationLog.objects.only('date_request').get(343).date_request, 
    content_obj_id=338, type_request=1, type_change=2
)
于 2013-11-15T23:56:53.900 回答