Я пытаюсь создать экземпляр модели (транзакции) из метода post
представления, но он не сохраняется в базе данных, но, к моему удивлению, после "создания объекта", а не сохранения, я могу передать его моему контексту и использовать его значения, некоторые из которых генерируются автоматически, но все же не сохраняются: (.
Я попытался увеличить строку, которую tjat создает в первой строке метода, но все еще не работает. (Хотя Django Admin работает)
from django.views import generic
...
from arctic.core.models import Transaction # Get transaction model
class MyView(generic.DetailView):
template_name = "temps/page.html"
model = Application
context_object_name = "object_name"
slug_field = 'uuid_id'
slug_url_kwarg = 'obj_id'
def dispatch(self, request, *args, **kwargs):
# Check if object is accepted
if not self.get_object().accepted or self.get_object().acknowledged:
return HttpResponseForbidden()
# Else, continue
return super().dispatch(request, *args, **kwargs)
def post(self, request, **kwargs):
context = {}
poll_url = "http://test-link.com/"
trans = Transaction.objects.create(poll_url=poll_url)
Это просто не спасет. PS: я не переопределил ни один из методов моделей
UPDATE
Вот переменные из трассировки, которую я вызвал "
context
{}
kwargs
{'obj_id': UUID('f4228ebf-9b26-4e95-85b1-7570d92458c4')}
poll_url
'https://www.test-link.com/'
request
<WSGIRequest: POST '/acknowledge-acceptance-and-register/f4228ebf-9b26-4e95-85b1-7570d92458c4/'>
self
<arctic.applications.views.MyView object at 0x000002CAA9BB1A58>
trans
<Transaction: Transaction object (115)>
Из этого я обнаружил, что инкрементальный первичный ключ по умолчанию pk
/ id
от django продолжает увеличиваться, что означает, что он достигает базы данных, но не сохраняет :(, даже в Django-admin, pk
увеличивается, то есть, когда я повторяю этот запрос, он увеличивается на 1, но не сохраняет, но затем добавляет с помощью администратора django, сохраняет с pk
или id
+2 (пропуская один, как если бы он имел был сохранен)