Невозможно получить доступ к объекту Django после его создания

У меня возникли трудности с запуском функции со следующим кодом. Он работает, когда я запускаю эти строки по отдельности в shell, но в функции 500s и я не могу получить доступ к объекту, который я только что создал.

order = Order.objects.create(
                    user=user,
                    date_created=datetime.datetime.now(),
                )
print(order.id) #works fine and displays the new id
print(Order.objects.get(id=order.id)) # 500s and cannot find the object

Запросы в Django работают с атомарными транзакциями. Поэтому, если, например, ваше представление потерпит неудачу, оно откатит все изменения в базе данных, которые были сделаны в рамках этого запроса. Вы не сможете получить экземпляр из базы данных, потому что он еще не является частью базы данных, а висит где-то в воздухе. Если ваше представление вернется с успешным кодом состояния, изменения будут зафиксированы в базе данных. До этого момента, если вы хотите внести изменения в "зависший" экземпляр, вы можете работать с переменной 'order'

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