有一家工厂,如:
class UserFactory(factory.django.DjangoModelFactory):
class Meta:
model = User默认情况下,模型的id字段将从1. 开始,我希望id以更高的数字开始,例如50000.
除非在工厂中添加这一行,否则使用UserFactory.reset_sequence(50000)不起作用。
id = factory.Sequence(lambda n: n)我有很多测试都依赖于默认的id增量行为,所以这种方式是否定的。
发布于 2018-11-13 23:26:42
我能找到的唯一解决办法是创建一个从49999开始的User对象。
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
https://stackoverflow.com/questions/53290991
复制相似问题