4
我在Django這樣的模式:錯誤(1242,'Subquery返回多於1行')錯誤?
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()
我試圖提取共享在用戶登錄文件。我簡單查詢共享
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 %}
我在做什麼錯?
謝謝您的回答。原來我的查詢是錯誤的。該列表中的所有文件都屬於file_table中的user_id。但我只想列出用戶中的shared_by_logged文件。 – user1881957
我已經回答了您的原始問題:「(1242,'Subquery返回多於一行')Django錯誤?」。爲您的新問題發佈一個新問題。 – danihp