我正在尝试从视图的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:我没有重写任何模型的方法
更新
这是我从追溯中得出的变量。
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)>
我从中发现的是django的pk
/ id
默认的默认增量主键一直在递增。.暗示其到达数据库,但没有保存:(,即使在Django-管理员,pk
正在递增,即当我重复此请求时,它递增1,但不保存,但是使用django admin进行添加,它以pk
或{{1}保存} +2(跳过其中一个就好像已保存)