Revision 1fd14d3d

b/snf-common/synnefo/lib/db/managers.py
29 29

  
30 30
from django.db import connections
31 31
from django.db.models import Manager
32
from django.db.models.query import QuerySet
33

  
32
from django.db.models.query import QuerySet, EmptyQuerySet
33
from django.db.models.sql.datastructures import EmptyResultSet
34 34

  
35 35
class ForUpdateManager(Manager):
36 36
    """ Model manager implementing SELECT .. FOR UPDATE statement
......
82 82
    if 'sqlite' in connections[query.db].settings_dict['ENGINE'].lower():
83 83
        # SQLite  does not support FOR UPDATE
84 84
        return query
85
    sql, params = query.query.get_compiler(query.db).as_sql()
85
    try:
86
        sql, params = query.query.get_compiler(query.db).as_sql()
87
    except EmptyResultSet:
88
        return EmptyQuerySet()
86 89
    return query.model._default_manager.raw(sql.rstrip() + ' FOR UPDATE',
87 90
                                            params)

Also available in: Unified diff