Having a tough time getting started with Django

18 views
Skip to first unread message

Peter L. Berghold

unread,
Jan 5, 2011, 11:00:02 AM1/5/11
to Django users
OK: Trying to get a handle on getting started with Django and like I
always do when learning a new environment I've dived in head first.

Here is an error message I'm getting.

peter@slcjwebapp0:~/agilitystewards$ python manage.py syncdb
Error: Couldn't install apps, because there were errors in one or more
models:
agilitystewards: __init__() got an unexpected keyword argument
'max_length'

Now, my models file almost looks like the example that I saw on the
Django web site and here it is:

peter@slcjwebapp0:~/agilitystewards$ cat models.py
from django.db import models


class Person(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)

class Person2(models.Model):
given_name=models.CharField(max_length=40)
surname = models.CharField(max_length=40)

class Account (models.Model):
person = models.ForeignKey(Person)
login_id = models.CharField(max_length=15)
password = models.CharField(max_length=30)
lastLogin = models.DateTimeField()


class Dog (models.Model):
person = models.ForeignKey(Person)
callname = models.CharField(max_length=20)
jump_height = models.IntegerField()

class Venue (models.Model):
name = models.CharField(max_length=30)
abbr = models.CharField(max_length=10)

class CompeteLevel (models.Model):
venue = models.ForeignKey(Venue)
name = models.CharField(max_length=50)
abbr = models.CharField(max_length=8)

class EventClassType (models.Model):
venue = models.ForeignKey(Venue)
name = models.CharField(max_length=50)
abbr = models.CharField(max_length=8)

class Club (models.Model):
name = models.CharField(max_length=30)
abbr = modesl.CharField(max_length=10)

class Trial (models.Model):
venue = models.ForeignKey(Venue)
club = models.ForeignKey(Club)
name = models.CharField(max_length=50)

RUNNING_ORDER_CHOICES = (
('B','Big to Small'),
('S','Small to Big')
);

class TrialDate(models.Model):
trial = models.ForeignKey(Trial)
day_date = Models.DateField
running_order =
Models.CharField(max_length=1,choices=RUNNING_ORDER_CHOICES)
nrings = Models.IntegerField()

class Ring(models.Model):
trialDate = models.ForeignKey(TrialDate)
ringHandle = Models.CharField(max_length=30)

Nothing really fancy there.

Here is the settings.py file.

peter@slcjwebapp0:~/agilitystewards$ cat settings.py
# Django settings for agilitystewards project.

DEBUG = True
TEMPLATE_DEBUG = DEBUG

ADMINS = (
('Peter L. Berghold', 'pe...@berghold.net'),
)

MANAGERS = ADMINS

DATABASE_ENGINE = 'mysql' # 'postgresql_psycopg2',
'postgresql', 'mysql', 'sqlite3' or 'oracle'.
DATABASE_NAME = 'agilitystewards' # Or path to database file
if using sqlite3.
DATABASE_USER = 'agilitystewards' # Not used with sqlite3.
DATABASE_PASSWORD = '*****************' # Not used with sqlite3.
DATABASE_HOST = '' # Set to empty string for localhost. Not
used with sqlite3.
DATABASE_PORT = '' # Set to empty string for default. Not
used with sqlite3.

# Local time zone for this installation. Choices can be found here:
# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
# although not all choices may be available on all operating systems.
# If running in a Windows environment this must be set to the same as
your
# system time zone.
TIME_ZONE = 'America/New_York'

# Language code for this installation. All choices can be found here:
# http://www.i18nguy.com/unicode/language-identifiers.html
LANGUAGE_CODE = 'en-us'

SITE_ID = 1

# If you set this to False, Django will make some optimizations so as
not
# to load the internationalization machinery.
USE_I18N = True

# Absolute path to the directory that holds media.
# Example: "/home/media/media.lawrence.com/"
MEDIA_ROOT = ''

# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash if there is a path component (optional in other cases).
# Examples: "http://media.lawrence.com", "http://example.com/media/"
MEDIA_URL = ''

# URL prefix for admin media -- CSS, JavaScript and images. Make sure to
use a
# trailing slash.
# Examples: "http://foo.com/media/", "/media/".
ADMIN_MEDIA_PREFIX = '/media/'

# Make this unique, and don't share it with anybody.
SECRET_KEY = '***************************************************'

# List of callables that know how to import templates from various
sources.
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.load_template_source',
'django.template.loaders.app_directories.load_template_source',
# 'django.template.loaders.eggs.load_template_source',
)

MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
)

ROOT_URLCONF = 'agilitystewards.urls'

TEMPLATE_DIRS = (
# Put strings here, like "/home/html/django_templates" or
"C:/www/django/templates".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
)

INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'agilitystewards'
)

OK... so what am I missing here? My assumption is that I'm the one
messed up here, not Django, so where am I going wrong?

--
Peter L. Berghold <pe...@berghold.net>

Daniel Roseman

unread,
Jan 5, 2011, 11:27:02 AM1/5/11
to django...@googlegroups.com

On Wednesday, January 5, 2011 4:00:02 PM UTC, Cowdawg wrote:
OK:  Trying to get a handle on getting started with Django and like I
always do when learning a new environment I've dived in head first.

Here is an error message I'm getting.

peter@slcjwebapp0:~/agilitystewards$ python manage.py syncdb
Error: Couldn't install apps, because there were errors in one or more
models:
agilitystewards: __init__() got an unexpected keyword argument
'max_length'

Now, my models file almost looks like the example that I saw on the
Django web site and here it is:

<snip>

OK... so what am I missing here? My assumption is that I'm the one
messed up here, not Django, so where am I going wrong?

--
Peter L. Berghold <pe...@berghold.net>


What version of Django have you installed? It appears to be earlier than 1.2 at least, because the method of specifying database connections in settings.py changed in that release. It's possible that you have installed a *very* old - ie pre-1.0 - version, in which the max_length parameter was called maxlength (without the hyphen). If so, please uninstall it and install the up-to-date version.
--
DR.

ringemup

unread,
Jan 5, 2011, 12:12:55 PM1/5/11
to Django users
Check the capitalization of the word "models" in some of your model
definitions.
> #http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
> # although not all choices may be available on all operating systems.
> # If running in a Windows environment this must be set to the same as
> your
> # system time zone.
> TIME_ZONE = 'America/New_York'
>
> # Language code for this installation. All choices can be found here:
> #http://www.i18nguy.com/unicode/language-identifiers.html

Peter L. Berghold

unread,
Jan 5, 2011, 1:05:30 PM1/5/11
to django...@googlegroups.com
On Wed, 2011-01-05 at 08:27 -0800, Daniel Roseman wrote:

>
>
> What version of Django have you installed? It appears to be earlier
> than 1.2 at least,

You were right on the money. I just checked the Debian site and the
Django loaded via apt-get is version 1.02. (not a typo... there's a zero
there...)


I'll see about installing the "latest and greatest" version. Thanks for
the nudge.

Reply all
Reply to author
Forward
0 new messages