I can't get anything with Foreign keys to work. I trimmed everything
down to the simplest example:

from django.db import models
from django.contrib.auth.models import User

class Ranking(models.Model):
        user = models.ForeignKey(User)
        score = models.IntegerField()
        def __unicode__(self):
                return u'%s %d' % (self.user, self.score)

I can't add any "Ranking" records. I try like this (from the django
shell) and always get an error like this:
IntegrityError: (1048, "Column 'user_id' cannot be null")

Can someone give me a hint as to the right way to do this?

(Django shell session below)

>>> from django.db import models
>>> from django.contrib.auth.models import User
>>> from djbaytzim.bayscore.models import Ranking
>>> u = User (username="swirsky")
>>> print type(u)
<class 'django.contrib.auth.models.User'>
>>> r = Ranking(user=u, score=10)
>>> r.save()
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/Library/Python/2.5/site-packages/django/db/models/base.py",
line 311, in save
    self.save_base(force_insert=force_insert,
force_update=force_update)
  File "/Library/Python/2.5/site-packages/django/db/models/base.py",
line 383, in save_base
    result = manager._insert(values, return_id=update_pk)
  File "/Library/Python/2.5/site-packages/django/db/models/
manager.py", line 138, in _insert
    return insert_query(self.model, values, **kwargs)
  File "/Library/Python/2.5/site-packages/django/db/models/query.py",
line 894, in insert_query
    return query.execute_sql(return_id)
  File "/Library/Python/2.5/site-packages/django/db/models/sql/
subqueries.py", line 309, in execute_sql
    cursor = super(InsertQuery, self).execute_sql(None)
  File "/Library/Python/2.5/site-packages/django/db/models/sql/
query.py", line 1734, in execute_sql
    cursor.execute(sql, params)
  File "/Library/Python/2.5/site-packages/django/db/backends/util.py",
line 19, in execute
    return self.cursor.execute(sql, params)
  File "/Library/Python/2.5/site-packages/django/db/backends/mysql/
base.py", line 88, in execute
    raise Database.IntegrityError(tuple(e))
IntegrityError: (1048, "Column 'user_id' cannot be null")



--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to