我想为数据库中的一个字段创建这样的字符串和数字的混合形式:“ XL1A”或“ PP25”。该怎么做?我现在只使用大写字母。
class CardFactory(DjangoModelFactory):
class Meta:
model = Card
serial_number = FuzzyText(length=4, chars=string.ascii_uppercase)
另外,是否仍可以在Factory Boy中为FuzzX创建随机模式规则,例如随机IP地址?
python大神给出的解决方案
您可以使用通用FuzzyAttribute
创建自己的规则。例如:
def generate_serial():
return random.choice(string.ascii_uppercase) + random.choice(string.digits)
class CardFactory(DjangoModelFactory):
class Meta:
model = Card
serial_number = FuzzyAttribute(generate_serial)
这将生成随机序列,例如“ Q3”。由于generate_serial
函数只是普通的Python,因此您可以根据需要使它复杂。