def render(self, context): """Render node""" try: tfield = format_field_name(self.field, language=self.lang) return getattr(context[self.object], tfield) except: return ''
def QT(field_lookup, value): lookup_pos = -1 for lookup in QUERY_TERMS.keys(): ltemp = field_lookup.rfind(lookup) if ltemp != -1: lookup_pos = ltemp break # we have a lookup if lookup_pos != -1: field_ = field_lookup[:lookup_pos-3] lookup = field_lookup[lookup_pos-3:] else: field_ = field_lookup lookup = '' field_pos = field_.rfind('__') # we don't have a relationship if field_pos == -1: field = field_ else: field = field_[field_.rfind('__')+2:] relationship = field_[:field_.rfind(field)] field = format_field_name(field) q = relationship + field + lookup kwargs = {str(q): value} return Q(**kwargs)
def lall(self, *fields): if not fields: fields = self.fields qstring = '' for field in fields: field_name = helpers.format_field_name(field) qstring += 'Q(%s="") | ' % field_name qstring = qstring[:-2] q = eval(qstring) return self.get_query_set().exclude(q)
def lall(self, *fields): """Similar to cls.all() but with a lang filter""" if not fields: fields = self.fields qlist = [] for field in fields: field_name = helpers.format_field_name(field) qlist.append(Q(**{field_name: ''})) if qlist: return self.get_query_set().exclude(reduce(operator.or_, qlist)) else: return self.get_query_set()
def T(normalized_field_name): return format_field_name(normalized_field_name)
def T(normalized_field_name): """Django like wrapper for language fields""" return format_field_name(normalized_field_name)
def wrap(cls): for normalized_field_name in fields: field_name = helpers.format_field_name(normalized_field_name, field_format) __set_descriptor(cls, normalized_field_name, field_format) return cls