I have 2 classes:

# --------------------
# SquadSelector Class
# --------------------

class SquadSelector(models.Model):
  fixture = models.ForeignKey(Fixture, verbose_name="Fixture",
core=True, help_text="Fixture to select squad for.")
  gk = models.ForeignKey(Player, verbose_name="Goal Keeper",
related_name="gk", core=True, help_text="Name of Goal Keeper.")
  rb = models.ForeignKey(Player, verbose_name="Right Back",
related_name="rb", core=True, help_text="Name of Right Back.")
  cb1 = models.ForeignKey(Player, verbose_name="Centre Back",
related_name="cb1", core=True, help_text="Name of First Centre Back.")
  cb2 = models.ForeignKey(Player, verbose_name="Centre Back",
related_name="cb2", core=True, help_text="Name of Second Centre
Back.")
  lb = models.ForeignKey(Player, verbose_name="Left Back",
related_name="lb", core=True, help_text="Name of Left Back.")
  rw = models.ForeignKey(Player, verbose_name="Right Wing",
related_name="rw", core=True, help_text="Name of Right Winger.")
  cm1 = models.ForeignKey(Player, verbose_name="Centre Midfield",
related_name="cm1", core=True, help_text="Name of First Centre
Midfielder.")
  cm2 = models.ForeignKey(Player, verbose_name="Centre Midfield",
related_name="cm2", core=True, help_text="Name of Second Centre
Midfielder.")
  lw = models.ForeignKey(Player, verbose_name="Left Wing",
related_name="lw", core=True, help_text="Name of Left Winger.")
  cf1 = models.ForeignKey(Player, verbose_name="Centre Forward",
related_name="cf1", core=True, help_text="Name of First Centre
Forward.")
  cf2 = models.ForeignKey(Player, verbose_name="Centre Forward",
related_name="cf2", core=True, help_text="Name of Second Centre
Forward.")
  sub1 = models.ForeignKey(Player, verbose_name="Sub 1",
related_name="sub1", blank=True, null=True, help_text="Name of 1st
Sub.")
  sub2 = models.ForeignKey(Player, verbose_name="Sub 2",
related_name="sub2", blank=True, null=True, help_text="Name of 2nd
Sub.")
  sub3 = models.ForeignKey(Player, verbose_name="Sub 3",
related_name="sub3", blank=True, null=True, help_text="Name of 3rd
Sub.")
  sub4 = models.ForeignKey(Player, verbose_name="Sub 4",
related_name="sub4", blank=True, null=True, help_text="Name of 4th
Sub.")
  sub5 = models.ForeignKey(Player, verbose_name="Sub 5",
related_name="sub5", blank=True, null=True, help_text="Name of 5th
Sub.")
  class Admin:
    pass
    list_display = ('fixture', )
    list_filter = ['fixture',]
    search_fields = ['fixture']

  # --------
  # Accessor
  # --------

  #String method
  def __str__ (self):
    return str(self.gk)



  def save(self):
   # Instead of iterarting manually through all the players,
   # we use self.__dict__ and remove the stuff we don't need.
   squad = self.__dict__.copy()
   try:
     squad.pop('_fixture_cache')
   except KeyError:
     pass
   try:
     squad.pop('fixture_id')
   except KeyError:
     pass

   for player_id in squad.values():
     if player_id is not None:
       appearance = Appearance()
       appearance.player_id = player_id
       appearance.result = self.fixture.result
       appearance.save()





# ----------------
# Appearance Class
# ----------------

class Appearance(models.Model):
  player = models.ForeignKey(Player, verbose_name="Player", core=True,
help_text="Name of player.")
  result = models.ForeignKey(Result, verbose_name="Result",
edit_inline=models.TABULAR, num_in_admin=15, num_extra_on_change=3,
core=True, help_text="Result they played in.")
  class Admin:
    pass
    list_display = ('result', 'player',)
    list_filter = ['result', 'player',]
    search_fields = ['player']

  # --------
  # Accessor
  # --------

  #String method
  def __str__ (self):
    return str(self.result)

  def count(self,fieldname="*"):
    return self.get_query_set().countAppearance(player)

  #Counts number of goals a player has scored - this is a patch as
support for it is still in development
  def countAppearance(self,fieldsname="*"):
    counter = self.clone
    counter._order_by = ()
    counter._offset = None
    counter._limit = None
    counter._select_related = False
    select, sql, params = counter._get_sql_clause()
    if fieldname == '*':
      column = '*'
    else:
      column = self.model._meta.get_field(fieldname).column
    cursor = connection.cursor()
    cursor.execute("SELECT COUNT(*)" + sql, params)
    cursor.execute("SELECT COUNT(%s)" % (column) + sql, params)
    return cursor.fetchone()[0]




When I add a "squad selector" I get the following error:


DoesNotExist at /admin/teams/squadselector/add/
Result matching query does not exist.
Request Method:         POST
Request URL:    http://duncanm.webfactional.com/admin/teams/squadselector/add/
Exception Type:         DoesNotExist
Exception Value:        Result matching query does not exist.
Exception Location:     /home2/duncanm/lib/python2.4/django/db/models/
query.py in get, line 213
Traceback (innermost last)
Switch back to interactive view

    * /home2/duncanm/lib/python2.4/django/core/handlers/base.py in
get_response
        67. # Apply view middleware
        68. for middleware_method in self._view_middleware:
        69. response = middleware_method(request, callback,
callback_args, callback_kwargs)
        70. if response:
        71. return response
        72.
        73. try:
        74. response = callback(request, *callback_args,
**callback_kwargs) ...
        75. except Exception, e:
        76. # If the view raised an exception, run it through
exception
        77. # middleware, and if the exception middleware returns a
        78. # response, use that. Otherwise, reraise the exception.
        79. for middleware_method in self._exception_middleware:
        80. response = middleware_method(request, e)
      ▶ Local vars
      Variable  Value
      callback
      <function _checklogin at 0xb7a1dbc4>
      callback_args
      ('teams', 'squadselector')
      callback_kwargs
      {}
      e
      <django.db.models.base.DoesNotExist instance at 0xb79a594c>
      exceptions
      <module 'django.core.exceptions' from '/home2/duncanm/lib/
python2.4/django/core/exceptions.pyc'>
      mail_admins
      <function mail_admins at 0xb7c3de2c>
      middleware_method
      <bound method XViewMiddleware.process_view of
<django.middleware.doc.XViewMiddleware object at 0xb7cb854c>>
      path
      '/admin/teams/squadselector/add/'
      request
      <ModPythonRequest path:/admin/teams/squadselector/add/,
GET:<MultiValueDict: {}>, POST:<MultiValueDict: {'sub4': [''], 'rw':
['6'], 'lb': ['5'], 'sub3': [''], 'sub1': ['12'], 'cf2': ['11'],
'fixture': ['16'], 'cb2': ['4'], 'lw': ['9'], 'cb1': ['3'], 'rb':
['2'], 'sub2': ['13'], 'sub5': [''], 'gk': ['1'], 'cm2': ['8'], 'cm1':
['7'], 'cf1': ['10']}>, COOKIES:{'dbx-pagemeta': 'grabit=0-,1-,2+,3-,
4+,5+&advancedstuff=0-', 'dbx-postmeta': 'grabit=0+,1+,2+,3+,4+,
5+&advancedstuff=0-', 'sessionid':
'1fe6ff002f8fb560c332511c8159e2b4'}, META:{'AUTH_TYPE': None,
'CONTENT_LENGTH': 0L, 'CONTENT_TYPE': None, 'GATEWAY_INTERFACE': 'CGI/
1.1', 'HTTP_ACCEPT': 'text/xml,application/xml,application/xhtml
+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5',
'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7',
'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-
gb,en;q=0.5', 'HTTP_CONTENT_LENGTH': '107', 'HTTP_CONTENT_TYPE':
'application/x-www-form-urlencoded', 'HTTP_COOKIE': 'dbx-
postmeta=grabit=0+,1+,2+,3+,4+,5+&advancedstuff=0-;
sessionid=1fe6ff002f8fb560c332511c8159e2b4; dbx-pagemeta=grabit=0-,1-,
2+,3-,4+,5+&advancedstuff=0-', 'HTTP_HOST':
'duncanm.webfactional.com', 'HTTP_MAX_FORWARDS': '10', 'HTTP_REFERER':
'http://duncanm.webfactional.com/admin/teams/squadselector/add/',
'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:
1.8.1.2) Gecko/20070219 Firefox/2.0.0.2', 'HTTP_X_FORWARDED_FOR':
'81.105.97.255', 'HTTP_X_FORWARDED_HOST': 'duncanm.webfactional.com',
'HTTP_X_FORWARDED_SERVER': 'duncanm.webfactional.com', 'PATH_INFO': '/
admin/teams/squadselector/add/', 'PATH_TRANSLATED': None,
'QUERY_STRING': None, 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': None,
'REMOTE_IDENT': None, 'REMOTE_USER': None, 'REQUEST_METHOD': 'POST',
'SCRIPT_NAME': None, 'SERVER_NAME': 'web3.webfaction.com',
'SERVER_PORT': 0, 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE':
'mod_python'}>
      resolver
      <django.core.urlresolvers.RegexURLResolver object at 0xb7cb860c>
      response
      None
      self
      <django.core.handlers.modpython.ModPythonHandler object at
0xb7a2d5ac>
      settings
      <django.conf.LazySettings object at 0xb7c8dccc>
      urlresolvers
      <module 'django.core.urlresolvers' from '/home2/duncanm/lib/
python2.4/django/core/urlresolvers.pyc'>
    * /home2/duncanm/lib/python2.4/django/contrib/admin/views/
decorators.py in _checklogin
        48. def _checklogin(request, *args, **kwargs):
        49. if request.user.is_authenticated() and
request.user.is_staff:
        50. # The user is valid. Continue to the admin page.
        51. if request.POST.has_key('post_data'):
        52. # User must have re-authenticated through a different
window
        53. # or tab.
        54. request.POST =
_decode_post_data(request.POST['post_data'])
        55. return view_func(request, *args, **kwargs) ...
        56.
        57. assert hasattr(request, 'session'), "The Django admin
requires session middleware to be installed. Edit your
MIDDLEWARE_CLASSES setting to insert
'django.contrib.sessions.middleware.SessionMiddleware'."
        58.
        59. # If this isn't already the login page, display it.
        60. if not request.POST.has_key(LOGIN_FORM_KEY):
        61. if request.POST:
      ▶ Local vars
      Variable  Value
      args
      ('teams', 'squadselector')
      kwargs
      {}
      request
      <ModPythonRequest path:/admin/teams/squadselector/add/,
GET:<MultiValueDict: {}>, POST:<MultiValueDict: {'sub4': [''], 'rw':
['6'], 'lb': ['5'], 'sub3': [''], 'sub1': ['12'], 'cf2': ['11'],
'fixture': ['16'], 'cb2': ['4'], 'lw': ['9'], 'cb1': ['3'], 'rb':
['2'], 'sub2': ['13'], 'sub5': [''], 'gk': ['1'], 'cm2': ['8'], 'cm1':
['7'], 'cf1': ['10']}>, COOKIES:{'dbx-pagemeta': 'grabit=0-,1-,2+,3-,
4+,5+&advancedstuff=0-', 'dbx-postmeta': 'grabit=0+,1+,2+,3+,4+,
5+&advancedstuff=0-', 'sessionid':
'1fe6ff002f8fb560c332511c8159e2b4'}, META:{'AUTH_TYPE': None,
'CONTENT_LENGTH': 0L, 'CONTENT_TYPE': None, 'GATEWAY_INTERFACE': 'CGI/
1.1', 'HTTP_ACCEPT': 'text/xml,application/xml,application/xhtml
+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5',
'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7',
'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-
gb,en;q=0.5', 'HTTP_CONTENT_LENGTH': '107', 'HTTP_CONTENT_TYPE':
'application/x-www-form-urlencoded', 'HTTP_COOKIE': 'dbx-
postmeta=grabit=0+,1+,2+,3+,4+,5+&advancedstuff=0-;
sessionid=1fe6ff002f8fb560c332511c8159e2b4; dbx-pagemeta=grabit=0-,1-,
2+,3-,4+,5+&advancedstuff=0-', 'HTTP_HOST':
'duncanm.webfactional.com', 'HTTP_MAX_FORWARDS': '10', 'HTTP_REFERER':
'http://duncanm.webfactional.com/admin/teams/squadselector/add/',
'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:
1.8.1.2) Gecko/20070219 Firefox/2.0.0.2', 'HTTP_X_FORWARDED_FOR':
'81.105.97.255', 'HTTP_X_FORWARDED_HOST': 'duncanm.webfactional.com',
'HTTP_X_FORWARDED_SERVER': 'duncanm.webfactional.com', 'PATH_INFO': '/
admin/teams/squadselector/add/', 'PATH_TRANSLATED': None,
'QUERY_STRING': None, 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': None,
'REMOTE_IDENT': None, 'REMOTE_USER': None, 'REQUEST_METHOD': 'POST',
'SCRIPT_NAME': None, 'SERVER_NAME': 'web3.webfaction.com',
'SERVER_PORT': 0, 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE':
'mod_python'}>
      view_func
      <function _wrapped_view_func at 0xb7a1db8c>
    * /home2/duncanm/lib/python2.4/django/views/decorators/cache.py in
_wrapped_view_func
        32.
        33. def never_cache(view_func):
        34. """
        35. Decorator that adds headers to a response so that it will
        36. never be cached.
        37. """
        38. def _wrapped_view_func(request, *args, **kwargs):
        39. response = view_func(request, *args, **kwargs) ...
        40. add_never_cache_headers(response)
        41. return response
        42. return _wrapped_view_func
      ▶ Local vars
      Variable  Value
      args
      ('teams', 'squadselector')
      kwargs
      {}
      request
      <ModPythonRequest path:/admin/teams/squadselector/add/,
GET:<MultiValueDict: {}>, POST:<MultiValueDict: {'sub4': [''], 'rw':
['6'], 'lb': ['5'], 'sub3': [''], 'sub1': ['12'], 'cf2': ['11'],
'fixture': ['16'], 'cb2': ['4'], 'lw': ['9'], 'cb1': ['3'], 'rb':
['2'], 'sub2': ['13'], 'sub5': [''], 'gk': ['1'], 'cm2': ['8'], 'cm1':
['7'], 'cf1': ['10']}>, COOKIES:{'dbx-pagemeta': 'grabit=0-,1-,2+,3-,
4+,5+&advancedstuff=0-', 'dbx-postmeta': 'grabit=0+,1+,2+,3+,4+,
5+&advancedstuff=0-', 'sessionid':
'1fe6ff002f8fb560c332511c8159e2b4'}, META:{'AUTH_TYPE': None,
'CONTENT_LENGTH': 0L, 'CONTENT_TYPE': None, 'GATEWAY_INTERFACE': 'CGI/
1.1', 'HTTP_ACCEPT': 'text/xml,application/xml,application/xhtml
+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5',
'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7',
'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-
gb,en;q=0.5', 'HTTP_CONTENT_LENGTH': '107', 'HTTP_CONTENT_TYPE':
'application/x-www-form-urlencoded', 'HTTP_COOKIE': 'dbx-
postmeta=grabit=0+,1+,2+,3+,4+,5+&advancedstuff=0-;
sessionid=1fe6ff002f8fb560c332511c8159e2b4; dbx-pagemeta=grabit=0-,1-,
2+,3-,4+,5+&advancedstuff=0-', 'HTTP_HOST':
'duncanm.webfactional.com', 'HTTP_MAX_FORWARDS': '10', 'HTTP_REFERER':
'http://duncanm.webfactional.com/admin/teams/squadselector/add/',
'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:
1.8.1.2) Gecko/20070219 Firefox/2.0.0.2', 'HTTP_X_FORWARDED_FOR':
'81.105.97.255', 'HTTP_X_FORWARDED_HOST': 'duncanm.webfactional.com',
'HTTP_X_FORWARDED_SERVER': 'duncanm.webfactional.com', 'PATH_INFO': '/
admin/teams/squadselector/add/', 'PATH_TRANSLATED': None,
'QUERY_STRING': None, 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': None,
'REMOTE_IDENT': None, 'REMOTE_USER': None, 'REQUEST_METHOD': 'POST',
'SCRIPT_NAME': None, 'SERVER_NAME': 'web3.webfaction.com',
'SERVER_PORT': 0, 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE':
'mod_python'}>
      view_func
      <function add_stage at 0xb7a1db54>
    * /home2/duncanm/lib/python2.4/django/contrib/admin/views/main.py
in add_stage
       247. if opts.has_field_type(models.FileField):
       248. new_data.update(request.FILES)
       249.
       250. errors = manipulator.get_validation_errors(new_data)
       251. manipulator.do_html2python(new_data)
       252.
       253. if not errors:
       254. new_object = manipulator.save(new_data) ...
       255. pk_value = new_object._get_pk_val()
       256. LogEntry.objects.log_action(request.user.id,
ContentType.objects.get_for_model(model).id, pk_value,
str(new_object), ADDITION)
       257. msg = _('The %(name)s "%(obj)s" was added successfully.')
% {'name': opts.verbose_name, 'obj': new_object}
       258. # Here, we distinguish between different save types by
checking for
       259. # the presence of keys in request.POST.
       260. if request.POST.has_key("_continue"):
      ▶ Local vars
      Variable  Value
      app_label
      'teams'
      errors
      {}
      form_url
      ''
      manipulator
      <django.db.models.manipulators.AddManipulator object at
0xb79d3fcc>
      model
      <class 'htafc.teams.models.SquadSelector'>
      model_name
      'squadselector'
      new_data
      <MultiValueDict: {'sub5_id': [None], 'fixture': ['16'],
'cb1_id': ['3'], 'cm1_id': ['7'], 'gk_id': ['1'], 'gk': ['1'], 'rw':
['6'], 'lb': ['5'], 'lw': ['9'], 'cb2_id': ['4'], 'rb': ['2'],
'cf1_id': ['10'], 'cm2': ['8'], 'cm1': ['7'], 'sub2_id': ['13'],
'rb_id': ['2'], 'sub4': [''], 'sub5': [''], 'sub2': ['13'], 'sub3':
[''], 'sub1': ['12'], 'sub4_id': [None], 'cb2': ['4'], 'cb1': ['3'],
'sub3_id': [None], 'fixture_id': ['16'], 'cf2': ['11'], 'cf1': ['10'],
'lw_id': ['9'], 'sub1_id': ['12'], 'lb_id': ['5'], 'cf2_id': ['11'],
'cm2_id': ['8'], 'rw_id': ['6']}>
      object_id_override
      None
      opts
      <Options for SquadSelector>
      post_url
      '../'
      post_url_continue
      '../%s/'
      request
      <ModPythonRequest path:/admin/teams/squadselector/add/,
GET:<MultiValueDict: {}>, POST:<MultiValueDict: {'sub4': [''], 'rw':
['6'], 'lb': ['5'], 'sub3': [''], 'sub1': ['12'], 'cf2': ['11'],
'fixture': ['16'], 'cb2': ['4'], 'lw': ['9'], 'cb1': ['3'], 'rb':
['2'], 'sub2': ['13'], 'sub5': [''], 'gk': ['1'], 'cm2': ['8'], 'cm1':
['7'], 'cf1': ['10']}>, COOKIES:{'dbx-pagemeta': 'grabit=0-,1-,2+,3-,
4+,5+&advancedstuff=0-', 'dbx-postmeta': 'grabit=0+,1+,2+,3+,4+,
5+&advancedstuff=0-', 'sessionid':
'1fe6ff002f8fb560c332511c8159e2b4'}, META:{'AUTH_TYPE': None,
'CONTENT_LENGTH': 0L, 'CONTENT_TYPE': None, 'GATEWAY_INTERFACE': 'CGI/
1.1', 'HTTP_ACCEPT': 'text/xml,application/xml,application/xhtml
+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5',
'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7',
'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-
gb,en;q=0.5', 'HTTP_CONTENT_LENGTH': '107', 'HTTP_CONTENT_TYPE':
'application/x-www-form-urlencoded', 'HTTP_COOKIE': 'dbx-
postmeta=grabit=0+,1+,2+,3+,4+,5+&advancedstuff=0-;
sessionid=1fe6ff002f8fb560c332511c8159e2b4; dbx-pagemeta=grabit=0-,1-,
2+,3-,4+,5+&advancedstuff=0-', 'HTTP_HOST':
'duncanm.webfactional.com', 'HTTP_MAX_FORWARDS': '10', 'HTTP_REFERER':
'http://duncanm.webfactional.com/admin/teams/squadselector/add/',
'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:
1.8.1.2) Gecko/20070219 Firefox/2.0.0.2', 'HTTP_X_FORWARDED_FOR':
'81.105.97.255', 'HTTP_X_FORWARDED_HOST': 'duncanm.webfactional.com',
'HTTP_X_FORWARDED_SERVER': 'duncanm.webfactional.com', 'PATH_INFO': '/
admin/teams/squadselector/add/', 'PATH_TRANSLATED': None,
'QUERY_STRING': None, 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': None,
'REMOTE_IDENT': None, 'REMOTE_USER': None, 'REQUEST_METHOD': 'POST',
'SCRIPT_NAME': None, 'SERVER_NAME': 'web3.webfaction.com',
'SERVER_PORT': 0, 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE':
'mod_python'}>
      show_delete
      False
    * /home2/duncanm/lib/python2.4/django/db/models/manipulators.py in
save
        94. params[f.attname] = param
        95.
        96. if self.change:
        97. params[self.opts.pk.attname] = self.obj_key
        98.
        99. # First, save the basic object itself.
       100. new_object = self.model(**params)
       101. new_object.save() ...
       102.
       103. # Now that the object's been saved, save any uploaded
files.
       104. for f in self.opts.fields:
       105. if isinstance(f, FileField):
       106. f.save_file(new_data, new_object, self.change and
self.original_object or None, self.change, rel=False)
 107.
      ▶ Local vars
      Variable  Value
      auto_now_add
      False
      f
      <django.db.models.fields.related.ForeignKey object at
0xb7ad74ac>
      new_data
      <MultiValueDict: {'sub5_id': [None], 'fixture': ['16'],
'cb1_id': ['3'], 'cm1_id': ['7'], 'gk_id': ['1'], 'gk': ['1'], 'rw':
['6'], 'lb': ['5'], 'lw': ['9'], 'cb2_id': ['4'], 'rb': ['2'],
'cf1_id': ['10'], 'cm2': ['8'], 'cm1': ['7'], 'sub2_id': ['13'],
'rb_id': ['2'], 'sub4': [''], 'sub5': [''], 'sub2': ['13'], 'sub3':
[''], 'sub1': ['12'], 'sub4_id': [None], 'cb2': ['4'], 'cb1': ['3'],
'sub3_id': [None], 'fixture_id': ['16'], 'cf2': ['11'], 'cf1': ['10'],
'lw_id': ['9'], 'sub1_id': ['12'], 'lb_id': ['5'], 'cf2_id': ['11'],
'cm2_id': ['8'], 'rw_id': ['6']}>
      new_object
      <SquadSelector: Regan Allen>
      param
      None
      params
      {'cb1_id': '3', 'cb2_id': '4', 'cf1_id': '10', 'cf2_id': '11',
'cm1_id': '7', 'cm2_id': '8', 'fixture_id': '16', 'gk_id': '1', 'id':
None, 'lb_id': '5', 'lw_id': '9', 'rb_id': '2', 'rw_id': '6',
'sub1_id': '12', 'sub2_id': '13', 'sub3_id': None, 'sub4_id': None,
'sub5_id': None}
      self
      <django.db.models.manipulators.AddManipulator object at
0xb79d3fcc>
    * /home2/duncanm/webapps/django/htafc/teams/models.py in save
       575. except KeyError:
       576. pass
       577.
       578. for player_id in squad.values():
       579. if player_id is not None:
       580. appearance = Appearance()
       581. appearance.player_id = player_id
       582. appearance.result = self.fixture.result ...
       583. appearance.save()
       584.
       585.
       586. # ------------------
       587. # Match Report class
       588. # ------------------
      ▶ Local vars
      Variable  Value
      appearance
      Error in formatting:
      player_id
      '2'
      self
      <SquadSelector: Regan Allen>
      squad
      {'cb1_id': '3', 'cb2_id': '4', 'cf1_id': '10', 'cf2_id': '11',
'cm1_id': '7', 'cm2_id': '8', 'gk_id': '1', 'id': None, 'lb_id': '5',
'lw_id': '9', 'rb_id': '2', 'rw_id': '6', 'sub1_id': '12', 'sub2_id':
'13', 'sub3_id': None, 'sub4_id': None, 'sub5_id': None}
    * /home2/duncanm/lib/python2.4/django/db/models/fields/related.py
in __get__
       120. self.related = related
       121.
       122. def __get__(self, instance, instance_type=None):
       123. if instance is None:
       124. raise AttributeError, "%s must be accessed via instance" %
self.related.opts.object_name
       125.
       126. params = {'%s__pk' % self.related.field.name:
instance._get_pk_val()}
       127. rel_obj =
self.related.model._default_manager.get(**params) ...
       128. return rel_obj
       129.
       130. def __set__(self, instance, value):
       131. if instance is None:
       132. raise AttributeError, "%s must be accessed via instance" %
self.related.opts.object_name
       133. # Set the value of the related field
      ▶ Local vars
      Variable  Value
      instance
      <Fixture: Date: 2007-04-07, Venue: A, Vs: Computing 3>
      instance_type
      <class 'htafc.teams.models.Fixture'>
      params
      {'fixture__pk': 16L}
      self
      <django.db.models.fields.related.SingleRelatedObjectDescriptor
object at 0xb7acc72c>
    * /home2/duncanm/lib/python2.4/django/db/models/manager.py in get
        60. def distinct(self, *args, **kwargs):
        61. return self.get_query_set().distinct(*args, **kwargs)
        62.
        63. def extra(self, *args, **kwargs):
        64. return self.get_query_set().extra(*args, **kwargs)
        65.
        66. def get(self, *args, **kwargs):
        67. return self.get_query_set().get(*args, **kwargs) ...
        68.
        69. def get_or_create(self, **kwargs):
        70. return self.get_query_set().get_or_create(**kwargs)
        71.
        72. def create(self, **kwargs):
        73. return self.get_query_set().create(**kwargs)
      ▶ Local vars
      Variable  Value
      args
      ()
      kwargs
      {'fixture__pk': 16L}
      self
      <django.db.models.manager.Manager object at 0xb7acc86c>
    * /home2/duncanm/lib/python2.4/django/db/models/query.py in get
       206. "Performs the SELECT and returns a single object matching
the given keyword arguments."
       207. clone = self.filter(*args, **kwargs)
       208. # clean up SQL by removing unneeded ORDER BY
       209. if not clone._order_by:
       210. clone._order_by = ()
       211. obj_list = list(clone)
       212. if len(obj_list) < 1:
       213. raise self.model.DoesNotExist, "%s matching query does not
exist." % self.model._meta.object_name ...
       214. assert len(obj_list) == 1, "get() returned more than one
%s -- it returned %s! Lookup parameters were %s" %
(self.model._meta.object_name, len(obj_list), kwargs)
       215. return obj_list[0]
       216.
       217. def create(self, **kwargs):
       218. """
       219. Create a new object with the given kwargs, saving it to
the database
      ▶ Local vars
      Variable  Value
      args
      ()
      clone
      []
      kwargs
      {'fixture__pk': 16L}
      obj_list
      []
      self
      [<Result: Skirlaugh A.F.C.>, <Result: Eastrington F.C.>,
<Result: Withernsea F.C.>, <Result: Skidy Millers>, <Result: North
Ferriby U18's>, <Result: Market Weighton 2nds>, <Result: West Hull
F.C.>, <Result: Goole Town Under 18's>, <Result: North Cave U17's>,
<Result: Holme Rovers U17's>, <Result: Market Weighton U16's>,
<Result: Westella Willerby Under 18's>, <Result: Computing 2>]

Traceback (most recent call last):
File "/home2/duncanm/lib/python2.4/django/core/handlers/base.py" in
get_response
  74. response = callback(request, *callback_args, **callback_kwargs)
File "/home2/duncanm/lib/python2.4/django/contrib/admin/views/
decorators.py" in _checklogin
  55. return view_func(request, *args, **kwargs)
File "/home2/duncanm/lib/python2.4/django/views/decorators/cache.py"
in _wrapped_view_func
  39. response = view_func(request, *args, **kwargs)
File "/home2/duncanm/lib/python2.4/django/contrib/admin/views/main.py"
in add_stage
  254. new_object = manipulator.save(new_data)
File "/home2/duncanm/lib/python2.4/django/db/models/manipulators.py"
in save
  101. new_object.save()
File "/home2/duncanm/webapps/django/htafc/teams/models.py" in save
  582. appearance.result = self.fixture.result
File "/home2/duncanm/lib/python2.4/django/db/models/fields/related.py"
in __get__
  127. rel_obj = self.related.model._default_manager.get(**params)
File "/home2/duncanm/lib/python2.4/django/db/models/manager.py" in get
  67. return self.get_query_set().get(*args, **kwargs)
File "/home2/duncanm/lib/python2.4/django/db/models/query.py" in get
  213. raise self.model.DoesNotExist, "%s matching query does not
exist." % self.model._meta.object_name

  DoesNotExist at /admin/teams/squadselector/add/
  Result matching query does not exist.











I have no idea what is causing this to happen, as I thought my models
and methods were ok, could some please advise?

Regards,
Duncan




DoesNotExist at /admin/teams/squadselector/add/
Result matching query does not exist.
Request Method:         POST
Request URL:    http://duncanm.webfactional.com/admin/teams/squadselector/add/
Exception Type:         DoesNotExist
Exception Value:        Result matching query does not exist.
Exception Location:     /home2/duncanm/lib/python2.4/django/db/models/
query.py in get, line 213


--~--~---------~--~----~------------~-------~--~----~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to