我正在寫一個django應用程序,我創建一個模型對象,然後在最後批量創建數據。這裏是我的代碼:如何檢查在Django的緩存查詢列中是否存在值?
date_list = [list of dates]
data = []
for date in date_list:
my_row = Model1.objects.get(date=date)
if not date in data:
data.append(Model2(user_id=my_row.user_id, date = date))
Model2.objects.bulk_create(data)
這是錯誤的是:
[ Model2(date = date), Model2(date = date), Model2(date = date),..]
任何建議:if not date in data:
如何在它看起來像一個列表中搜索對象與我date
?
所以你不想添加一個重複日期的Model2,是嗎?你能否預先刪除重複的日期? – wholevinski
不,這個問題的重點在於檢查日期是否存在於數據列表中。 – Elisha512
您應該移動在循環外部添加的'my_row = Model1.objects.get(country ='GB')',以便它不會觸發N個查詢。 – wholevinski