Great! this works. Thank you so much Kevin.
2012/3/18 Kevin Wetzels <ke...@roam.be> > > On Sunday, March 18, 2012 12:55:31 PM UTC+1, Maarten Japink wrote: >> >> I 'm working on a taxonomie. >> These are my models: >> >> class Classificatie(models.Model): >> name=models.CharField(max_**length=60) >> >> def __unicode__(self): >> return self.name >> >> class Taxonomie(models.Model): >> name=models.CharField(max_**length=60) >> level=models.ForeignKey(**Classificatie) >> parent=models.ForeignKey('**self', related_name='parent_id' ) >> synoniem=models.ForeignKey('**self', >> related_name='synoniem_id' ,blank=True, null=True) >> >> I populated the tabels in postgresql >> >> When I do: >> >>>Taxonomie.objects.count() >> I get the proper number of rows (593) >> >> but when i want to read a single object with: >> >>> t=Taxonomie.objects.get(id=20) >> Traceback (most recent call last): >> File "<console>", line 1, in <module> >> File "C:\Python27\lib\site-**packages\django\db\models\**manager.py", >> line 132, in >> get >> return self.get_query_set().get(***args, **kwargs) >> File "C:\Python27\lib\site-**packages\django\db\models\**query.py", >> line >> 344, in g >> et >> num = len(clone) >> File "C:\Python27\lib\site-**packages\django\db\models\**query.py", >> line >> 82, in __ >> len__ >> self._result_cache = list(self.iterator()) >> File "C:\Python27\lib\site-**packages\django\db\models\**query.py", >> line >> 286, in i >> terator >> obj = model(*row[index_start:**aggregate_start]) >> File "C:\Python27\lib\site-**packages\django\db\models\**base.py", >> line >> 297, in __ >> init__ >> setattr(self, field.attname, val) >> File "C:\Python27\lib\site-**packages\django\db\models\**fields >> \related.py", line >> 402, in __set__ >> manager.add(*value) >> TypeError: add() argument after * must be a sequence, not int >> >> >> I also tried the Taxonomie model with both ' self ' Foreignkey set to >> blank=True and null=True >> gives me the same problem. I also can't make new taxonomie objects >> with django >> >> >> What am I doiing wrong? >> >> > You're using the implicit column_name as the related_name on the > self-referencing FKs. Django will generate a column name from the name of > your field, which means parent_id and synoniem_id columns will be used. > Then you decide to use those as the related_name for the corresponding > ForeignKey. This won't cause a problem when you perform a count since in > that case no model instances need to be loaded; it's simply a query that's > executed. > > This works and is more inline with what you should expect of a related > name: > > class Taxonomie(models.Model): > name=models.CharField(max_length=60) > level=models.ForeignKey(Classificatie) > parent=models.ForeignKey('self', related_name='parents' ,blank=True, > null=True) > synoniem=models.ForeignKey('self', related_name='synoniemen' > ,blank=True, null=True) > > By the way: if you can, you're better off using English for your code > rather than Dutch. > > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To view this discussion on the web visit > https://groups.google.com/d/msg/django-users/-/Icc1RBqovDcJ. > To post to this group, send email to django-users@googlegroups.com. > To unsubscribe from this group, send email to > django-users+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/django-users?hl=en. > -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.