Django relationship failing on IntegrityError, даже если связанный объект уже был создан
Итак, я выполняю следующий код:
def decorate(func):
method_inst = Method.objects.create(name=func.__qualname__, class_m_id=cls_id)
@wraps(func)
def wrapper(*args, **kwargs):
for arg in args:
arg_inst = Argument()
arg_inst.method_id = method_inst.id
arg_inst.save()
return func(*args, **kwargs)
return wrapper
return decorate
и я получаю следующую ошибку:
django.db.utils.IntegrityError: The row in table 'main_argument' with primary key '1' has an invalid foreign key: main_argument.method_id contains a value '11' that does not have a corresponding value in main_method.id.
Похоже, что Django не находит экземпляр метода, который я создал ранее.
Хотя очевидно, что он создан, поскольку method_inst.id
иначе бы не существовал (он генерируется автоматически только после создания объекта).
Кроме того, мы знаем, что она заполнена, поскольку в сообщении об ошибке четко говорится main_argument.method_id contains a value '11'
. Также, глядя на базу данных, я вижу, что она была создана.
Есть идеи, почему это происходит?