Theme Park Photo, LLC
unread,Feb 3, 2009, 1:22:34 AM2/3/09Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Django users
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")