这是我的forms.py文件
def save(self,ip_address, *args, **kwargs):
g = GeoIP()
lat,lon = g.lat_lon(ip_address)
user_location = super(registerForm, self).save()
user_location.latitude = lat
user_location.longitude = lon
user_location.save(*args, **kwargs)
在我的观点中我有
def status_set(request):
if request.method == "POST":
rform = registerForm(data = request.POST)
if rform.is_valid():
register = rform.save(ip_address='203.99.178.139')
register.user=request.user
register.save(ip_address)
return render_to_response('home.html')
else:
rform = registerForm()
return render_to_response('status_set.html',{'rform':rform})
但是当我尝试提交表单时,它说“IntegrityError:accounts_register.user_id可能不是NULL”,但我的视图中有register.user=request.user
。我是否必须通过“Id”或“PK”作为表格的参数或者我犯了错误
答案 0 :(得分:1)
您可能正在处理AnonymousUser对象,并且ID将始终设置为None。如果您正在运行./manage.py runserver
,请在失败的语句之前插入这样的行,尝试使用pdb:
import pdb; pdb.set_trace()
这将引导您进入REPL,您可以在其中逐步浏览并探索您的代码。