Итератор фабричного мальчика генерирует неправильный порядок

Я использую Iterator для создания строгой последовательности значений.

    class MyModelFactory(DjangoModelFactory):
        class Meta:
        model = MyModel
        django_get_or_create = ("first_field",)

        first_field = Iterator(["value_1", "value_2", "value_3", "value_4"])
        second_field = Iterator("aaaa", "bbbb", "cccc"])
        third_field = Iterator([1, 2, 3, 4])

Я ожидаю, что результат должен быть следующим:


    [
      ("value_1", "aaaa", 1),
      ("value_2", "bbbb", 2),
      ("value_3", "cccc", 3),
      ("value_4", "aaaa", 4)
    ]

Но исход непредсказуем:

    [
      ("value_1", "aaaa", 4),
      ("value_2", "bbbb", 3),
      ("value_3", "cccc", 1),
      ("value_4", "aaaa", 2)
    ]

Когда я использую эту MyModelFactory в качестве RelatedFactory два раза подряд, моя база данных выдает ошибку duplicate key value violates unique constraint third_field. Да третье_поле должно быть уникальным. Вопрос в том, почему эта ошибка возникает, если я использую django_get_or_create?

Есть идеи?

Вернуться на верх