数据库 – (1242,’子查询返回超过1行’)Django中的错误?
发布时间:2020-12-12 08:33:37 所属栏目:MsSql教程 来源:网络整理
导读:我在Django中有这样的模型: class File(models.Model): users = models.ForeignKey(User) file_name = models.CharField(max_length=100) type = models.CharField(max_length=10) source = models.CharField(max_length=100) start_date = models.TextField
我在Django中有这样的模型:
class File(models.Model): users = models.ForeignKey(User) file_name = models.CharField(max_length=100) type = models.CharField(max_length=10) source = models.CharField(max_length=100) start_date = models.TextField() end_date = models.TextField() duration = models.TextField() size = models.TextField() flag = models.TextField() #delete_date = models.CharField(max_length=100,null=True,blank=True) class Share(models.Model): users = models.ForeignKey(User) files = models.ForeignKey(File) shared_user_id = models.IntegerField() shared_date = models.TextField() 我正在尝试提取登录用户共享的文件.我只是在Share中查询 file_s = Share.objects.filter(users_id=log_id) 这将提取登录用户共享的文件.因为,现在我知道登录用户共享了哪个文件,我试图从文件表中获取文件信息: shared_file = File.objects.filter(users_id=file_s) 但这是回归: DatabaseError at /shared_by_me/ (1242,'Subquery returns more than 1 row') #my_views def shared_by_me(request): log_id = request.user.id username = request.user.username #shared_file = File.objects.filter(users_id=file) file_s = Share.objects.filter(users_id=log_id) shared_file = File.objects.filter(users_id=file_s) #b = Share.objects.filter(users_id=log_id) return render_to_response('shared_by_me.html',{'shared_by_me':shared_file,'username':username},context_instance=RequestContext(request)) #my_template {% for choice in shared_by_me %} <tr class="oddclass"> <td><input type="checkbox" name="choice" id="choice{{ forloop.counter }}" value="{{ choice.id }}" /></td> <td><label for="choice{{ forloop.counter }}">{{ choice.file_name }}</label></td> <td>{{ choice.type }}</td> <td>{{ i.size }}</td> <td>{{ i.end_date }}</td> </tr> {% endfor %} 我究竟做错了什么? 解决方法因为文件不是模型而是查询集,所以你应该使用__in,例如:shared_file = File.objects.filter(users_id__in=file_s) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |