summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Long <indirecthit@gmail.com>2006-09-17 18:32:27 +0000
committerChristopher Long <indirecthit@gmail.com>2006-09-17 18:32:27 +0000
commit20ca1751dc8bbd01dd08ed33744298828a519ac1 (patch)
tree212f3d2cb20dcba98e838a5ee2ad9b0ad0d98338
parenta2fbd5f14cb8a8238b2812776cb2a3c7477286f2 (diff)
downloaddjango-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.py3
-rw-r--r--django/db/models/fields/generic.py2
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)