2017-09-13 34 views
0

這是我的信號獲得pk_set值運行到一個原子錯誤

def my_signal(instance, action, pk_set, **kwrags): 
    instance.animal_count = instance.animals.all().count() 
    instance.save() 
    if action == 'post_add': 
     print pk_set #works 
     print pk_set[0] #no work 

奇怪的是,如果我只是打印pk_set我得到set([1])但如果我嘗試並使用獲得的實際值[0 ]我碰到:

TransactionManagementError: An error occurred in the current transaction. You can't execute queries until the end of the 'atomic' block. 

有沒有什麼辦法可以得到pk_set數?我從字面上只需要身份證。

注意:這種情況發生在測試用例中。

奇怪的是,如果我做

list(pk_set)[0] 

這個作品

回答

0

由於種種原因做

list(pk_set)[0] 

作品但這並不:

pk_set[0]