这是我的信号
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号码?我字面上只需要id。
注意:在测试用例期间会发生这种情况。
奇怪的是,如果我这样做
list(pk_set)[0]
这是有效的
答案 0 :(得分:0)
由于某些原因做
list(pk_set)[0]
有效但但并非如此:
pk_set[0]