Index: django/db/models/query.py
===================================================================
--- django/db/models/query.py	(revision 3518)
+++ django/db/models/query.py	(working copy)
@@ -641,7 +641,11 @@
     except KeyError:
         pass
     if lookup_type == 'in':
-        return '%s%s IN (%s)' % (table_prefix, field_name, ','.join(['%s' for v in value]))
+        ids = list(value)
+        if ids:
+            return '%s%s IN (%s)' % (table_prefix, field_name, ','.join(['%s' for id in ids]))
+        else:
+            return '0' 
     elif lookup_type == 'range':
         return '%s%s BETWEEN %%s AND %%s' % (table_prefix, field_name)
     elif lookup_type in ('year', 'month', 'day'):
