Anonymous avatar Anonymous committed 38e0d9c

Add missing import to fields
Fix what we pass to get_or_create

Comments (0)

Files changed (1)

flat_forum/fields.py

 from django.db.models.fields import related
+from django.db import router
 
 class AutoSingleRelatedObjectDescriptor(related.SingleRelatedObjectDescriptor):
     def __get__(self, instance, instance_type=None):
         try:
             return getattr(instance, self.cache_name)
         except AttributeError:
-            params = {'%s__pk' % self.related.field.name: instance._get_pk_val()}
+            params = {'%s' % self.related.field.name: instance}
             db = router.db_for_read(self.related.model, instance=instance)
             rel_obj = self.related.model._base_manager.using(db).get_or_create(**params)[0]
             setattr(instance, self.cache_name, rel_obj)
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.