python - Django 在 Save() 之后立即更新表

标签 python mysql django

我正在尝试将订单信息插入两个表 OrderUser

我可以保存两个表的值,但在尝试更新 Order 时出现错误表 User ID来自刚刚在 User 中创建的记录表。

错误:

Cannot assign "54L":"Order.user" must be a "User" instance.

view.py

if request.method == 'POST':
    form = OrderForm(request.POST)
    userform = UserForm(request.POST)

        if form.is_valid():

            #save both tables
            userform.save()
            form.save()

            #get user ID 
            user_info = User.objects.filter(email=request.POST['email']).order_by('-id')[0]

            #update order with user ID
            u = Order.objects.filter().order_by('-id')[0]
            u.user = user_info.id
            u.save()

            return HttpResponseRedirect('/success/')
else:
    form = OrderForm()
    ...

最佳答案

将 u.user = user_info.id 更改为 u.user = user_info

关于python - Django 在 Save() 之后立即更新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27280156/

相关文章:

python - 如何使用两个现有列在 Pandas 中创建新列*并将新列放置在数据框中的某个位置

python - 使用python在一行中的一组字符之前添加一个新行

mysql - 改进mysql范围查询

django - 查看单元测试中的模拟表单

python - 如何在开发人员之间管理 django 1.7 中的迁移?

django - 我如何在 Django 中自动填充字段?

python - 取模求未知值

python - 以时间间隔对数据库进行调度过滤

php - 单个数据库查询 TYPO3 Fluid 扩展

MySQL 5.7 使用的内存比指定的多(在 LinuxMint 19 中)