Django

Code

Changeset 2817

Show
Ignore:
Timestamp:
05/02/06 14:51:41 (2 years ago)
Author:
adrian
Message:

Fixed #1745 -- Accessing many-to-many relationships without a PK value now throws an exception. Thanks, Luke

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/django/db/models/fields/related.py

    r2809 r2817  
    240240            self.source_col_name = source_col_name 
    241241            self.target_col_name = target_col_name 
    242             if instance: 
    243                 self._pk_val = self.instance._get_pk_val() 
     242            self._pk_val = self.instance._get_pk_val() 
     243            if self._pk_val is None: 
     244                raise ValueError("%r instance needs to have a primary key value before a many-to-many relationship can be used." % model) 
    244245 
    245246        def get_query_set(self): 
  • django/trunk/tests/modeltests/many_to_many/models.py

    r2809 r2817  
    111111>>> Article.objects.all() 
    112112[Django lets you build Web apps easily] 
    113 >>> p1.article_set.all() 
    114 [Django lets you build Web apps easily
     113>>> p2.article_set.all() 
     114[
    115115 
    116116# Adding via the 'other' end of an m2m