【发布时间】:2018-03-07 21:21:54
【问题描述】:
我想将当前用户的用户实例传递给基于类的视图中的变量,并在第二步中,在 python 脚本中将其提供给定义为author = models.ForeignKey(User, on_delete=models.PROTECT) 的数据库表列。与该列相关,我收到以下完整性错误:NOT NULL constraint failed.. 从回溯中我可以看到我的变量loggedUser(我归因于self.request.user)是SimpleLazyObject。
我发现another question 与我的相似。但它讨论了与函数相关的问题——我很难根据我的基于类的视图来调整答案。
如何传递我的用户实例?
谢谢!
models.py
>from django.db import models
from django.contrib.auth.models import User
class Data(models.Model):
temperature = models.FloatField(max_length=5)
author = models.ForeignKey(User, on_delete=models.PROTECT)
views.py
>from . import apythonscript
from django.views.generic import TemplateView
class PlotGraphView(TemplateView):
def get_context_data(self, **kwargs):
loggedUser = self.request.user
context['plot'] = apythonscript.putDataInDB(loggedUser)
return context
apythonscript.py
>from app.models import Data
def putDataInDB(loggedUser):
mydata=json.loads(response)
for line in mydata['feeds']:
# try:
data_handle = Data(temperature=line['field1'], author=loggedUser,)
data_handle.save()
# except:
# continue
追溯
【问题讨论】:
-
你的问题我不清楚 - 你没有在任何地方使用你的
Data模型。请同时包含完整的回溯。 -
感谢您的反馈。我改编了这个例子。
-
你还没有显示回溯。
-
我的错。现在添加。谢谢!
标签: django django-models django-views