Commit b065d72c authored by PJ Janse van Rensburg's avatar PJ Janse van Rensburg

Merge branch 'peewee-composite-keys'

parents 95d4d102 8d8495d9
......@@ -8,6 +8,7 @@ next release
* Upgrade Leaflet and Leaflet.draw plugins, used for geoalchemy integration
* Specify `minimum_input_length` for ajax widget
* SQLAlchemy fix that lets you use inline model forms where models have multiple primary keys
* Peewee: support composite keys
* MongoEngine: when searching/filtering the input is now regarded as case-insensitive by default
1.5.2
......
......@@ -184,6 +184,10 @@ class ModelView(BaseModelView):
return get_primary_key(self.model)
def get_pk_value(self, model):
if self.model._meta.composite_key:
return tuple([
model._data[field_name]
for field_name in self.model._meta.primary_key.field_names])
return getattr(model, self._primary_key)
def scaffold_list_columns(self):
......@@ -440,6 +444,8 @@ class ModelView(BaseModelView):
return count, query
def get_one(self, id):
if self.model._meta.composite_key:
return self.model.get(**dict(zip(self.model._meta.primary_key.field_names, id)))
return self.model.get(**{self._primary_key: id})
def create_model(self, form):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment