SwiftData: Deleting a model is working, but the previous view isn't showing it

I have a TabView which consists of a few different tabs. One of which does an @Query to retrieve an array of Transaction models. These are then displayed in a list using a ForEach.

struct TransactionsTab: View {
    
    @Query private var transactions: [Transaction]
... other code

                Section(content: {
                    ForEach(transactions) { transaction in
                        transaction.getListItem()
                    }
                }, header: {
                    LabeledView(label: "Recent Transactions", view: {
                        ListButton(mode: .link(destination: {
                            ListView(list: transactions)
                                .navigationTitle("All Transactions")
                        }))
                    })
                })

Transaction contains a different model called TransactionItem and that has a variable called amount. That amount variable is used in the getListItem() function to show how much the total transaction was in the list item.

The issue is that I can delete a Transaction and the ForEach will update to reflect that. However, if I delete an TransactionItem separately, that getListItem() will not show that it's been deleted. The total amount shown will still be as if the TransactionItem was never deleted. It will only update when the app is closed and reopened. Below is the code that's ran when deleting a model, in this case a TransactionItem.

// Deletes a single item
    private func delete() {
        deleteWarning = false
        
        if let item = itemToDelete {
            
            // If last item is being delete, dismiss the view
            if list.count == 1 { dismissView() }
            
            context.delete(item)
            context.saveContext()
            
            itemToDelete = nil
        }
        
        mode = .view
        
    }

I would think that deleting the model and having it save will cause the transaction query to update. What's going on here to cause it to not update?

By the way, saveContext() just calls the ModelContext save function.

extension ModelContext {
    func saveContext() {
        do {
            try self.save()
        } catch {
            print("Could not save context: \(error.localizedDescription)")
        }
    }
}
SwiftData: Deleting a model is working, but the previous view isn't showing it
 
 
Q