diff options
author | Christopher Long <indirecthit@gmail.com> | 2006-09-17 18:32:27 +0000 |
---|---|---|
committer | Christopher Long <indirecthit@gmail.com> | 2006-09-17 18:32:27 +0000 |
commit | 20ca1751dc8bbd01dd08ed33744298828a519ac1 (patch) | |
tree | 212f3d2cb20dcba98e838a5ee2ad9b0ad0d98338 | |
parent | a2fbd5f14cb8a8238b2812776cb2a3c7477286f2 (diff) | |
download | django-20ca1751dc8bbd01dd08ed33744298828a519ac1.tar.gz |
[per-object-permissions] Fixes bug described in ticket #2749
[per-object-permissions] Fixes the add manipulator so it does not assume the pk attribute is "id"
git-svn-id: http://code.djangoproject.com/svn/django/branches/per-object-permissions@3767 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r-- | django/contrib/admin/row_level_perm_manipulator.py | 3 | ||||
-rw-r--r-- | django/db/models/fields/generic.py | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/django/contrib/admin/row_level_perm_manipulator.py b/django/contrib/admin/row_level_perm_manipulator.py index ce3175ceeb..7baf10f466 100644 --- a/django/contrib/admin/row_level_perm_manipulator.py +++ b/django/contrib/admin/row_level_perm_manipulator.py @@ -77,7 +77,8 @@ class AddRLPManipulator(ChangeRLPManipulator): #Check that the new row level perms are unique field_name_list = ('owner_ct', 'owner_id', 'model_ct', 'model_id', 'permission') field_data = ct.id - all_data = {'owner_id':owner.id, 'model_ct_id':self.ct.id, 'model_id':self.obj_instance.id, 'permission_id':perm.id} + model_id = self.obj_instance._get_pk_val() + all_data = {'owner_id':owner.id, 'model_ct_id':self.ct.id, 'model_id':model_id, 'permission_id':perm.id} manipulators.manipulator_validator_unique_together(field_name_list, self.opts, self, field_data, all_data) rlp = RowLevelPermission.objects.create_row_level_permission(self.obj_instance, owner, perm, negative=new_data['negative']) diff --git a/django/db/models/fields/generic.py b/django/db/models/fields/generic.py index 5f4de40e69..7d7651029c 100644 --- a/django/db/models/fields/generic.py +++ b/django/db/models/fields/generic.py @@ -117,7 +117,7 @@ class GenericRelation(RelatedField, Field): return self.object_id_field_name def m2m_reverse_name(self): - return self.model._meta.pk.attname + return self.object_id_field_name def contribute_to_class(self, cls, name): super(GenericRelation, self).contribute_to_class(cls, name) |