Django:保存用户实例 - 双向失败

时间:2016-06-07 16:39:49

标签: python django instance

我有一个模型设置如下:

def connect_to_b(self):

    self.b()

当我尝试保存ModelForm时,我收到此错误:

class ShiftLog(models.Model):
    date = models.DateField()
    project = models.CharField(max_length=120)
    staff_member = models.ForeignKey(User)

所以在views.py中,我尝试了这个(改为正常的表单处理):

Cannot assign "[<User: stephen>]": "ShiftLog.staff_member" must be a "User" instance.

然后我收到了这个错误:

@login_required
def shiftlog_form(request):
    login = request.user.last_login
    if request.method == 'POST':
        form = ShiftLogForm(request.POST.copy())
        form.data['staff_member'] = User.objects.get(id=form.data['staff_member'])
        if form.is_valid():
            form.save()
            return render_to_response('shiftlog_form.html', context_instance=RequestContext(request))
        else:
            print('form is not valid')

    else:
        form = ShiftLogForm()
        return render_to_response('shiftlog_form.html',
                                  {'form': form},
                                  context_instance=RequestContext(request))

如果你做的话,开始觉得有点像死,如果你没有情况就会死。有任何想法吗?另外作为参考,这是在Python 2.7,Django 1.4上运行。

非常感谢提前。

0 个答案:

没有答案