2014-11-23 54 views
2

我想爲我的一個應用程序制定數據遷移。我使用這裏提到的信譽系統 - 在我forward方法django-reputation在數據遷移中訪問模型管理器方法

,我有以下的代碼 -

orm['reputation.reputation'].objects.log_reputation_action(user = user_x, originating_user = user_y, action_value = 10, target_object = sample_obj) 

,但在運行遷移時,我碰到下面的錯誤 -

AttributeError: 'Manager' object has no attribute 'log_reputation_action' 

我凍結了數據遷移中的reputation應用程序。請讓我知道我在這裏做錯了什麼。

在此先感謝。

回答

1

看起來這是不可能的。

South documentation

你可以做更多的事情與此數據遷移內;任何型號都可以使用 。 唯一需要注意的是,您將無法訪問 您的模型上的任何自定義方法或管理器,因爲它們不是 作爲凍結過程的一部分而被保留(一般無法執行此操作。你必須將你想要的任何代碼複製到遷移 本身。隨意讓他們在Migration類中使用方法;南 忽略了一切,除了前進和後退。

+0

猜我會一直做它的醜陋的方式。感謝您的引用! – 2014-12-14 14:49:26

+0

是的,我猜.. :) – Amit 2014-12-14 15:34:30

+0

如果你只是要向前遷移 - 你可以從真實模型導入。請注意,這意味着此遷移現在只能應用。我用數據遷移來處理一個複雜的計算事物,並將其變成一個真正的專欄。 – 2016-02-01 16:14:15