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

use*_*012 -1 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'
Run Code Online (Sandbox Code Playgroud)

这是我的错误:

username = factory.Sequence(lambda n: 'user' + n) 
Run Code Online (Sandbox Code Playgroud)

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

我该如何解决?

Hen*_*son 5

最快的解决方案是

username = factory.Sequence(lambda n: 'user' + str(n))
Run Code Online (Sandbox Code Playgroud)

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

更干净的方法是

username = factory.Sequence(lambda n: "user{0}".format(n))
Run Code Online (Sandbox Code Playgroud)