拥有像这样的工厂
class UserFactory(factory.django.DjangoModelFactory):
class Meta:
model = User
默认情况下,模型的id
字段将从1开始。我希望ID从更大的数字开始,例如50000。
使用UserFactory.reset_sequence(50000)
不起作用
除非您在工厂中添加此行
id = factory.Sequence(lambda n: n)
我有很多测试都依赖于默认的id增量行为,所以这种方法是行不通的。
答案 0 :(得分:0)
我唯一能找到的解决方法是创建一个User
对象,起始于49999
if not UserFactory.objects.filter(id=49999).exists():
UserFactory(49999)
现在您可以做
print(UserFactory().id)
>>> 50000
现在,如果您的模型ID是一个自动字段,则您可能必须更改基础数据库架构,或诉诸reset_sequence
方法。 How to get Django AutoFields to start at a higher number