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

Python TypeError:无法连接'str'和'int'对象-lambda,python,django,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$$a4483ce7bd7083999bef6a74117a443239e67f

我使用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'
这是我的错误:

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


如何修复它?

最快的解决方案是

username = factory.Sequence(lambda n: 'user' + str(n))
之所以会出现这种情况,是因为String和Int在Python中是两种独立的类型,因此需要进行类型转换

更清洁的方法是

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