我已经看了这几天了,我正准备把头发拔出来,任何帮助都将不胜感激。在
我有一个名为package的简单模型,它有一个userFrom和userTo
class Package(models.Model):
title = models.CharField(max_length=50)
packageid = models.CharField(primary_key=True, max_length=64, default=uuid_str, editable=False)
userfrom = models.ForeignKey('auth.user', editable=False, related_name='userfrom')
userto = models.ForeignKey('auth.user', editable=False, related_name='userto')
我的视图包有以下分配映射
^{pr2}$然而,似乎pre_save没有被调用,userid的映射也没有发生。当我使用api登录并尝试推送新包时,我得到了错误。在
我试着把它尽可能地映射到教程http://django-rest-framework.org/tutorial/4-authentication-and-permissions.html,但没有任何运气。在
异常类型:IntegrityError
异常值:
“userfrom_id”列中的null值违反了not null约束
浏览源代码到sql,我可以看到userfrom_id和userto_id都是空的。在
任何想法都很感激。在
J
我也有同样的问题。。。在
您必须在post中使用序列化对象调用pre_save:
确保视图类继承CreateModelMixinmixin。在
正如doc所述:
您定义的方法pre_save(),它不是一个视图,它是一个模型方法,应该在集成要保存的对象包实例之前立即执行。结果是pre_save不知道变量“request”的值,因为这种变量存在于视图函数环境中,而不是模型环境中。你把事情搞混了。在
我想你需要这样的东西:
这就是观点。你需要这样的表格:
^{pr2}$相关问题 更多 >
编程相关推荐