TypeError:无法连接'str'和'int'对象 - lambda

时间:2013-11-04 15:07:07

标签: python django

我使用Django FactoryBoy进行测试。这是我的代码:

import Factory

class UserFactory(factory.Factory):
    FACTORY_FOR = User
    username = factory.Sequence(lambda n: 'user' + n)
    email = 'test@test.com'
    password = 'sha1$$a4483ce7bd7083999bef6a74117a443239e67fac'

这里是我的错误:

username = factory.Sequence(lambda n: 'user' + n) 
     

TypeError:无法连接'str'和'int'对象

我该如何解决?

1 个答案:

答案 0 :(得分:5)

最快的解决方案是

username = factory.Sequence(lambda n: 'user' + str(n))

为什么你得到这个是因为String和Int是Python中的两个独立类型,因此类型转换是有序的。

更清洁的方法是

username = factory.Sequence(lambda n: "user{0}".format(n))