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'. Также, глядя на базу данных, я вижу, что она была создана.

Есть идеи, почему это происходит?

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