我尝试使用此代码创建新的M2M对象
course_id = int(request.POST['course'])
if not Status.objects.get(course=course_id, user=request.user.profile, role="student"):
rel = Status(course=course_id, user=request.user.profile,
role="student")
rel.save()
结果是
ValueError: Cannot assign "1": "Status.course" must be a "Course" instance.
我知道如果我这样做的话可以使用:
course = Course.objects.get(pk=request.POST['course'])
rel = Status(course=course, user=request.user.profile,
role="student")
但是通过这种方式我从DB询问课程对象(在分配之后我不需要这个)。我认为这是开销。
可以分配一个只有PK的相关对象,而不是从DB询问这个对象吗?
答案 0 :(得分:0)
你有问题:
2015-04-29 07:12:52+0000 [HTTPChannel,0,98.188.155.163]
{
'host':'104.197.53.229',
'content-type':'application/json',
'connection':'Keep-Alive',
'authorization':'Bearer InvalidToken:http://104.197.5.2/MyApp/route?TN=12402735:2123'
}
状态正在等待一个couse实例并且您正在传递ID。 Intead你做了什么:
if not Status.objects.get(**course=course_id**, user=request.user.profile, role="student"):