Exemplo n.º 1
0
    def __init__(self, model, admin_site):
        self.model = model
        self.admin_site = admin_site

        if not self.list_fields:
            self.list_fields = compat.xdb_properties(self.model).keys()

        if not self.list_display_links:
            self.list_display_links = [self.list_fields[0]]
Exemplo n.º 2
0
    def __init__(self, model, admin_site):
        self.model = model
        self.admin_site = admin_site

        if not self.list_fields:
            self.list_fields = compat.xdb_properties(self.model).keys()

        if not self.list_display_links:
            self.list_display_links = [self.list_fields[0]]
Exemplo n.º 3
0
def write_on_change_instance(obj, data):
    """Schreibe Instanz mit geänderten Daten in Datastore."""

    properties = compat.xdb_properties(obj)
    dirty = False
    for key, value in data.iteritems():
        if value != getattr(obj, key, None):
            setattr(obj, key, value)
            dirty = True
    if dirty:
        obj.put()

    return dirty, obj
Exemplo n.º 4
0
 def fields(self):
     """Liste der zu exportierenden Felder"""
     if not hasattr(self, '_fields'):
         fields = []
         props = compat.xdb_properties(self.model)
         for prop in props.values():
             # ndb & db compatatibility
             name = getattr(prop, '_name', getattr(prop, 'name', '?'))
             if name not in getattr(self, 'unwanted_fields', []):
                 fields.append(name)
         if hasattr(self, 'additional_fields'):
             fields.extend(self.additional_fields)
         fields.sort()
         self._fields = fields
     return self._fields
Exemplo n.º 5
0
    def fields(self):
        """Liste der zu exportierenden Felder"""
        if not hasattr(self, '_fields'):
            fields = []
            props = compat.xdb_properties(self.model)
            for prop in props.values():
                name = compat.xdb_prop_name(prop)
                if self.only:
                    if name in self.only:
                        fields.append((compat.xdb_prop_creation_counter(prop), name))
                elif self.ignore:
                    if name not in self.ignore:
                        fields.append((compat.xdb_prop_creation_counter(prop), name))
                else:
                    fields.append((compat.xdb_prop_creation_counter(prop), name))

            if self.additional_fields:
                fields.extend((999, name) for name in self.additional_fields)

            self._fields = [name for (_, name) in sorted(fields)]

        return self._fields