Opened 19 years ago
Closed 19 years ago
#330 closed defect (invalid)
get_relatedobject_count error with OneToOneFields
Reported by: | Owned by: | Adrian Holovaty | |
---|---|---|---|
Component: | Metasystem | Version: | |
Severity: | normal | Keywords: | |
Cc: | wojtek@… | Triage Stage: | Unreviewed |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
I have to use ForeignKey instead of OneToOneField lest I receive the following traceback when going to the detail for my object:
"""
There's been an error:
Traceback (most recent call last):
File "C:\django\django\core\handlers\base.py", line 62, in get_response
return callback(request, param_dict)
File "C:\django\django\views\admin\main.py", line 855, in change_stage
manipulator = mod.ChangeManipulator(object_id)
File "C:\django\django\utils\functional.py", line 3, in _curried
return args[0](*(args[1:]+moreargs), dict(kwargs.items() + morekwargs.items()))
File "C:\django\django\core\meta\init.py", line 1368, in manipulator_init
count = getattr(self.original_object, 'get_%s_count' % opts.get_rel_object_method_name(rel_opts, rel_field))()
AttributeError: 'Participant' object has no attribute 'get_individual_count'
"""
My model looks like:
from django.core import meta
class Participant(meta.Model):
fields = (
meta.PositiveIntegerField('auction_number', blank=False, null=False, unique=True),
meta.CharField('address_1', maxlength=50, blank=True),
meta.CharField('address_2', maxlength=50, blank=True),
meta.CharField('city', maxlength=30, blank=True),
meta.USStateField('state', blank=True),
meta.CharField('zip', maxlength=9, blank=True),
meta.PhoneNumberField('phone', blank=True),
)
def repr(self):
return "%s" % (self.id)
class Individual(meta.Model):
fields = (
meta.OneToOneField(Participant, edit_inline=meta.TABULAR, num_in_admin=1),
meta.CharField('first_name', 'First', maxlength=25, core=True),
meta.CharField('last_name', 'Last', maxlength=25, core=True),
)
def repr(self):
return "%s %s" % (self.first_name, self.last_name)
Change History (1)
comment:1 by , 19 years ago
Cc: | added |
---|---|
Component: | Admin interface → Metasystem |
Resolution: | → invalid |
Status: | new → closed |
Summary: | get_%s_count error with OnToOneFields → get_relatedobject_count error with OneToOneFields |
As documentation points, there's no get_relatedobject_count() with One-to-one relation.
This idea does not make any sense. Method get_count() returns number of objects matched by the lookup. In the OneToOneField case, it would always return one.
If I'm wrong, please reopen the ticket.