当前位置: 首页 > 知识库问答 >
问题:

无法将值(用户id)分配给ForeignKey字段

丌官运珧
2023-03-14

我收到以下错误:无法分配“

我正在尝试将当前用户的id分配给我刚刚创建的对象。

这是我模型的一部分。py:

from django.contrib.auth.models import User  
from django.forms import ModelForm  
from django.db import models  

    class UserForm (ModelForm) :  
        class Meta:  
            model = User        
    class Worry(models.Model) :    
        user = models.ForeignKey(User) #Many worries to 1 user relation

这是我views.py的一部分:

from django.db import models  
from django.shortcuts import render_to_response, redirect, get_object_or_404  
from django.template import RequestContext  
from django.contrib.auth.models import User  
from holaProy.models import UserForm, Worry, WorryForm, Statistics, StatisticsForm  
def worry_add (request):  
    form = WorryForm (request.POST or None)  
    if form.is_valid():      
        wform.user = models.ForeignKey('User')  #HERE IS THE PROBLEM I THINK
        wform.save()  
        return redirect (index)  
    return render_to_response ('holaProy/worry_add.html', {'worry_form': form}, context_instance = RequestContext(request))</code>

如何才能成功地将当前用户id分配给实际实例的“用户”字段?


共有3个答案

宗政深
2023-03-14

尝试:

def worry_add(request):
    form = WorryForm(request.POST or None)
    if request.method == 'POST' and form.is_valid():
        worry = form.save(commit=False)
        worry.user = #assign this to an instance of a User object
        worry.save()
焦学海
2023-03-14

这就是你有问题的地方。

基本上,你正在搜索一个字符串。您需要先获取实际的数据库对象。试试这个:

User = User.objects.get(pk='User')
wform.user = models.ForeignKey('User')  #Now User refers to the database object, not a string
鲁华皓
2023-03-14

事实上,问题就在于这一点:

wform.user = models.ForeignKey('User')

wform。用户应设置为用户实例。大概是这样的:

user = request.user    # Retrieve proper user according to your needs
wform.user = user
 类似资料:
  • 问题内容: 更新到xcode 8 beta 6后,出现错误 无法将’()-> Void’类型的值分配给’(()-> Void)!’ 在以下func块的第三行: 关于修复的任何建议? 问题答案: 看来您的问题与此有关: SE-0103 尝试将您的方法标头追踪到: 与往常一样,来自新Beta的诊断消息是如此混乱和不足,但是将您的媒体资源设置为非可选将为您提供更多有用的信息。

  • 问题内容: 我的任务是编写一个程序,要求用户输入5个存储在列表中的名称。接下来,它随机选择这些名称之一,并宣布该人为获胜者。唯一的问题是,当我尝试运行它时,它说。 这是我的代码: 我必须能够生成一个随机名称。 问题答案: 操作员的左侧需要为变量。您在这里所做的就是告诉python:“您知道数字1吗?将其设置为输入的字符串。”。是文字数字,而不是变量。始终是,您无法将其“设置”为其他内容。 变量就像

  • 问题内容: A类提供一个字符串值。类B在其内部具有两个A类型的成员,并提供一个计算属性“ v”来选择其中之一。 这段代码很简单,可以正常工作。由于A和B都具有成员“值”,因此我将其设为这样的协议: 如果我更改以下代码 至 它再次起作用! 这是Swift的错误,还是协议属性的特殊之处? 问题答案: 您必须将协议定义为协议: 然后 编译并按预期方式工作(即,将新值分配给if 所引用的对象,否则分配给否

  • 问题内容: 这是我写该行时的错误: /ChatApp/ViewController.swift:27:42:无法将“ ViewController”类型的值分配给“ UITextFieldDelegate”类型的值? 这是我的Swift代码(ViewerController.swift): 问题答案: 该生产线将导致错误,因为你尝试分配作为的。 但是,你 是不是 一个。为了使您的课程成为此类委托,

  • 问题内容: 我有这样的数据结构: 是另一个结构。 然后,当我尝试在Users切片中添加一些新值时,如下所示: 我不断收到此错误: 还尝试在这里https://github.com/golang/go/issues/3117变通方法,像这样: 但是没有运气,仍然是完全相同的错误。 并且还尝试使用指针声明地图,因此:,仍然没有运气。 问题答案: 首先,对于这个问题,本文中的解决方案为什么在将值设置为结

  • 我们有一个代码来获取kafka主题的消费者的一些细节。下面的代码显示了如何获得分区和相应的偏移量。我们需要的缺失信息是客户组中分区的客户id/客户。我们有办法得到每个主题分区的消费者吗?