# Path: shrubbery/db/utils.py
# def no_related_name(hidden=False):
# def _remove_related_accessors(sender, **kwargs):
#     def as_q(self):
#     def add_to_query(self, query, aliases=None):
#     def __and__(self, other):
#     def __or__(self, other):
#     def __invert__(self):
#     def __init__(self, objects, conjunction=True):
#     def __invert__(self):
#     def combine(self, other, conjunction):
#     def __and__(self, other):
#     def __or__(self, other):
#     def __rand__(self, other):
#     def __ror__(self, other):
#     def connector(self):
#     def add_to_query(self, query, aliases):
# def get_q(obj):
# def get_model(obj, allow_import=False, proxy=True):
# def get_manager(obj):
# def get_query_set(obj):
# def fetch(qs, *args):
# def _collect_sub_models(model, abstract, proxy, virtual, direct, sub_models):
# def get_sub_models(model, abstract=False, proxy=False, virtual=False, direct=False):
# def force_empty(query):
# def remove_join(query, alias, traceless=False):
# def forge_join(query, table, alias, lhs, lhs_alias, lhs_col, col, nullable=False, join_type=None):
# def replace_text(pattern, replacement, model):
# def unordered_pairs(qs):
# def create_intermediate_model(cls, rel_name, attrs, bases=None, meta=None):
# def clean_slice(s, count_func, replace_none=False, allow_step=True):
# def get_model_ref(model):
# def get_app_path(module):
# def get_app_label(module):
# def get_by_ref(s, callback, module=None, app_label=None, field=None):
# def _fire_ref_callback(model, field, callback):
# def _do_pending_reference_lookups(sender, **kwargs):
# class ImplicitQMixin(object):
# class CompoundQ(object):


from unittest import TestCase
from django.db import models
from shrubbery.db.utils import MappedQ
import datetime



class Dt(models.Model):
    d = models.DateField()
    dt = models.DateTimeField()
    
    class Meta:
        app_label = "db"
        

# Path: shrubbery/db/utils.py
# def no_related_name(hidden=False):
# def _remove_related_accessors(sender, **kwargs):
#     def as_q(self):
#     def add_to_query(self, query, aliases=None):
#     def __and__(self, other):
#     def __or__(self, other):
#     def __invert__(self):
#     def __init__(self, objects, conjunction=True):
#     def __invert__(self):
#     def combine(self, other, conjunction):
#     def __and__(self, other):
#     def __or__(self, other):
#     def __rand__(self, other):
#     def __ror__(self, other):
#     def connector(self):
#     def add_to_query(self, query, aliases):
# def get_q(obj):
# def get_model(obj, allow_import=False, proxy=True):
# def get_manager(obj):
# def get_query_set(obj):
# def fetch(qs, *args):
# def _collect_sub_models(model, abstract, proxy, virtual, direct, sub_models):
# def get_sub_models(model, abstract=False, proxy=False, virtual=False, direct=False):
# def force_empty(query):
# def remove_join(query, alias, traceless=False):
# def forge_join(query, table, alias, lhs, lhs_alias, lhs_col, col, nullable=False, join_type=None):
# def replace_text(pattern, replacement, model):
# def unordered_pairs(qs):
# def create_intermediate_model(cls, rel_name, attrs, bases=None, meta=None):
# def clean_slice(s, count_func, replace_none=False, allow_step=True):
# def get_model_ref(model):
# def get_app_path(module):
# def get_app_label(module):
# def get_by_ref(s, callback, module=None, app_label=None, field=None):
# def _fire_ref_callback(model, field, callback):
# def _do_pending_reference_lookups(sender, **kwargs):
# class ImplicitQMixin(object):
# class CompoundQ(object):


# Path: shrubbery/db/tests/q_utils.py
from unittest import TestCase
from django.db import models
from shrubbery.db.utils import MappedQ
import datetime




class Dt(models.Model):
    d = models.DateField()
    dt = models.DateTimeField()
    
    class Meta:
        app_label = "db"
        

class DateQ(MappedQ):