【发布时间】:2017-10-09 03:49:22
【问题描述】:
由于某种原因,我在服务器上收到此错误:
用作表达式的子查询返回多于一行
在这一行:
asoc = Association.objects.get(id=asoc_pk)(在代码下方注释)
但是当我在 localhost 中运行它时,它工作得很好。
在没有帮助的情况下一直在这里寻找类似的解决方案。
希望您能看到其他我想不出来的解决方案。
还是新手,感谢您的帮助,伙计们!
models.py
class Administrator(AbstractUser):
...
association= models.ForeignKey(Association)
class Meta:
db_table = 'Administrator'
class Association(models.Model):
asoc_name = models.CharField(max_length=100)
...
class Meta:
db_table = 'Association'
views.py
def signup(request):
if request.method == 'POST':
form = SignUpForm(request.POST)
if not form.is_valid():
return render(request, 'admin/signup.html',
{'form': form})
else:
...
asoc_pk = Association.objects.filter(asoc_name=request.user.association)
asoc = Association.objects.get(id=asoc_pk) **#ERROR here but why?**
...
Administrator.objects.create_user(...
association=asoc,
...)
user = authenticate(...
association=asoc,
...)
return redirect('/')
else:
return render(request, 'admin/signup.html',
{'form': SignUpForm()})
【问题讨论】:
标签: django postgresql python-3.x django-models django-queryset