Я хочу создать фабрику, которая будет создавать список словарей, и я хочу иметь возможность передавать итерацию элементов, которые будут служить значениями для одного из элементов в этих словарях, и мне нужно количество словарей в список должен быть равен количеству элементов в итерации, которую я передаю. Вот что я написал:
Код: Выделить всё
class PostResponseFactory(factory.DictFactory):
indices = (0, 10)
errors = factory.List(
[
factory.SubFactory(PostResponseErrorFactory, index=x)
for x in indices
]
)
class Meta:
exclude = ["indices"]
class Params:
indices = (0, 1)
Однако, когда я пытаюсь вызвать фабрику с параметром index, это не дает никакого эффекта (фактически параметры Params полностью игнорируются).
Код: Выделить всё
PostResponseFactory(indices=[2, 4]) # still gives me indices 0 and 10
Я пробовал использовать SelfAttribute либо в поле, либо в цикле for, но получаю сообщение об ошибке, что SelfAttribute не является итерируемым.
Есть ли способ сделать там то, что я хочу?
Подробнее здесь:
https://stackoverflow.com/questions/785 ... list-field