使用 Django 中的 Factory Boy 创建字符串和数字的混合
Create a mix of string and digit with Factory Boy in django
我想像这样创建字符串和数字的混合:"XL1A" 或 "PP25" 用于我 database.How 中的一个字段,我可以这样做吗?我现在只使用大写字母。
class CardFactory(DjangoModelFactory):
class Meta:
model = Card
serial_number = FuzzyText(length=4, chars=string.ascii_uppercase)
此外,是否可以在 Factory Boy 中为 FuzzX 创建随机模式规则,例如随机 IP 地址?
将 digits
添加到字符列表?
serial_number = FuzzyText(length=4,
chars=string.ascii_uppercase + string.digits)
您可以使用通用 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,您可以根据需要将其复杂化。
我想像这样创建字符串和数字的混合:"XL1A" 或 "PP25" 用于我 database.How 中的一个字段,我可以这样做吗?我现在只使用大写字母。
class CardFactory(DjangoModelFactory):
class Meta:
model = Card
serial_number = FuzzyText(length=4, chars=string.ascii_uppercase)
此外,是否可以在 Factory Boy 中为 FuzzX 创建随机模式规则,例如随机 IP 地址?
将 digits
添加到字符列表?
serial_number = FuzzyText(length=4,
chars=string.ascii_uppercase + string.digits)
您可以使用通用 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,您可以根据需要将其复杂化。