3
如何批量更新Django數據模型的查詢集中的多對多字段?如何批量更新Django查詢集的多對多字段
例如,我有一個名爲Photo
的數據模型,另一個名爲PhotoStream
。在Photo
,我有which_stream = models.ManyToManyField(PhotoStream)
。
我提取了一個名爲childhood_photos
的Photos
的查詢集,我需要在該查詢集中的所有對象的多對多字段中添加一個新的PhotoStream
對象。我們稱之爲PhotoStream對象for_classmates
。
我嘗試childhood_photos.update(which_stream.add(for_classmates))
,但它給了我一個錯誤:全局名'which_stream'未定義。
我該怎麼做這個操作?
感謝您的支持。從外觀上看,這是**創造**新領域,但僅限於「貫穿」表。在我看來,這就是我正在嘗試的**更新**過程。因此它們是相同的。想要確認我的頭腦是否正確,是嗎? –
'你只是在桌子上'是什麼意思?直通表是「ManyToManyField」真正發生的唯一場所!這不是創建新的字段(!?),而是將for_classmates流添加到所有需要的照片。 – schwobaseggl
使用'update'操作只會更新特定模型上的字段。關於M2M領域的一點是,它們並不是在特定的表格中實際創建的,而是在數據庫中創建了一個新的直通表格,與您的第一個和第二個表格相關聯。因此,在'Photo'模型中更新'更新'流更新流與在表中創建行不同。 – AKS