簡體   English   中英

將對象轉換為查詢集

[英]Converting an object into a Queryset

我有兩個功能

def xyz(obj):
   obj_queryset = Sample.objects.filter(id=obj.id)
   callfunction(obj_queryset)

def callfunction(obj_queryset):
   for obj in obj_queryset:
       obj.start_date = datetime.date.today()
       obj.end_date = datetime.date.today()
       obj.save()

由於某些原因,我需要將其作為查詢集,因為我想更新多個對象,並且在更新之前我也進行了少量計算,因此我不在此處發布。

有沒有辦法在不執行數據庫查詢的情況下將obj轉換為查詢集。

callfunction不使用queryset中的任何特定內容。 它將其論點視作可迭代的序列。 實際上,這意味着您可以在for循環中使用的任何內容都可以傳遞給該函數。

為了通過此函數處理單個對象,您可以將帶有該對象的序列傳遞給函數,並且可以是可迭代的任何序列(不一定是queryset),例如,它可以是列表:

callfunction([obj])

這是絕對有效的,並且是通常的python習慣用法。

暫無
暫無

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

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