我的模型中有以下内容。py
profilePic = models.OneToOneField(Document, default=None, null=True, blank=True, on_delete=models.CASCADE)
以及我的观点。py
loggedinanon = Anon.objects.get_or_create(username1=loggedinuser)
newdoc = Document(docfile = request.FILES['docfile'])
newdoc.save()
loggedinanon.profilePic = newdoc
我不知道应该使用什么代码将文档保存为匿名的一部分。
答案 0 :(得分:5)
将代码更改为
loggedinanon, created = Anon.objects.get_or_create(username1=loggedinuser)
因为get_or_create返回(实例,已创建)的元组
答案 1 :(得分:0)
get_or_create函数,返回一个元组:(对象,创建) -object是Anon.objects.get_or_create(username1 = loggedinuser)的实例 -create是一个布尔值(如果创建了对象,则为true;如果获得对象,则为false)
因此您可以尝试:
loggedinanon, creation= Anon.objects.get_or_create(username1=loggedinuser)
newdoc = Document(docfile = request.FILES['docfile'])
newdoc.save()
loggedinanon.profilePic = newdoc
我对最后一行有疑问: logginginanon.profilePic = newdoc
我认为您应该有更多类似的东西:
objectName = ClassName.update(userName = loggedinanon,default = {'profilePic':newdoc})
取决于模型之间的关系。 Django教程很长,但确实很需要 https://docs.djangoproject.com/en/3.0/ref/models/querysets/