django - 不能分配必须是“”实例
问题描述
我正在处理我的第一个 django 项目,但出现此错误(无法分配“'433245675'”:“Lockers.locker_id”必须是“Renters”实例。)这里的任何人都可以帮助我。
观点:
def adding_renter(request):
form_data = forms.AddingRenter(request.POST or None)
msg = ''
if form_data.is_valid():
renters = models.Renters()
renters.renter_id = form_data.cleaned_data['renter_id']
renters.renter_name = form_data.cleaned_data['renter_name']
renters.renter_email = form_data.cleaned_data['renter_email']
renters.renter_phone_number = form_data.cleaned_data['renter_phone_number']
renters.renting_start_date = form_data.cleaned_data['renting_start_date']
renters.renting_end_date = form_data.cleaned_data['renting_end_date']
renters.save()
msg = 'Renter has been added successfully'
context = {
'form': form_data,
'msg': msg
}
return rend
呃(请求,'addingrenter.html',上下文)
def adding_locker(request):
form_data = forms.AddingLocker(request.POST or None)
msg = ''
if form_data.is_valid():
lockers = models.Lockers()
lockers.locker_id = form_data.cleaned_data['locker_id']
lockers.locker_number = form_data.cleaned_data['locker_number']
lockers.locker_information = form_data.cleaned_data['locker_information']
lockers.locker_status = form_data.cleaned_data['locker_status']
lockers.locker_notes = form_data.cleaned_data['locker_notes']
lockers.save()
msg = 'Locker has been added successfully'
context = {
'form': form_data,
'msg': msg
}
return render(request, 'addinglocker.html', context)
解决方案
我猜你的字段名为locker_id
. 如果是这种情况,则实际的 ID 字段名为locker_id_id
。所以尝试使用:
lockers.locker_id_id = form_data.cleaned_data['locker_id']
尽管您的错误使您的模型看起来像定义为:
class Renters(models.Model):
...
class Lockers(models.Model):
locker_id = models.ForeignKey(Renters)
相反,它应该是:
class Renter(models.Model): # Models should be singular
...
class Locker(models.Model):
renter = models.ForeignKey(Renter)
推荐阅读
- java - Kotlin+Gradle 可运行 jar - 依赖导致“找不到或加载主类”
- c# - 使用用户输入在二维数组中使用 foreach 循环替换项目
- node.js - npm start 不工作并且 gulp 已弃用?
- c++ - Make:变量无法从 shell 调用分配
- ios - Swift 将多个类分配给 UI 元素
- android - Android UDP 点对点网络通信(无服务器)
- firebase - Flutter/Firebase:如何在不使用 '.then(...)' 函数的情况下访问当前用户
- android - Recyclerview 通过屏幕位置 x/y 获取项目
- php - laravel 表中的 Boostrap 模态集成
- php - 上传文件 CakePHP 致命错误