Hi,

I'm running Django version 1.1 beta 1 SVN-10368.

I'm having a problem trying to a ManyToMany field to an existing
model.

In an application called "videos", I created a models.py like this:

from django.db import models

class Speaker(models.Model):
    name = models.CharField(max_length=200)
    localized_name = models.CharField(max_length=200)
    bio = models.TextField()

class Video(models.Model):
    title = models.CharField(max_length=200)
    localized_title = models.CharField(max_length=200)
    description = models.TextField()
    filmed_on = models.DateField('date filmed')
    video_url = models.URLField(verify_exists=False)
    subtitle_url = models.URLField(verify_exists=False)

then I add

    speakers = models.ManyToManyField("Speaker")

to the end of Video class.

when I run "python manage.py sql videos", it returns:

BEGIN;
CREATE TABLE "videos_speaker" (
    "id" integer NOT NULL PRIMARY KEY,
    "name" varchar(200) NOT NULL,
    "localized_name" varchar(200) NOT NULL,
    "bio" text NOT NULL
)
;
CREATE TABLE "videos_video" (
    "id" integer NOT NULL PRIMARY KEY,
    "title" varchar(200) NOT NULL,
    "localized_title" varchar(200) NOT NULL,
    "description" text NOT NULL,
    "filmed_on" date NOT NULL,
    "video_url" varchar(200) NOT NULL,
    "subtitle_url" varchar(200) NOT NULL
)
;
CREATE TABLE "videos_video_speakers" (
    "id" integer NOT NULL PRIMARY KEY,
    "video_id" integer NOT NULL REFERENCES "videos_video" ("id"),
    "speaker_id" integer NOT NULL REFERENCES "videos_speaker" ("id"),
    UNIQUE ("video_id", "speaker_id")
)
;
COMMIT;

which seems to be fine for me. Then I run "python manage.py syncdb",
yet it does not create any new table for me, and when I try to look
into the database generated with sqlite3 <dbname>, it shows:

sqlite> .tables
auth_group                  django_admin_log
auth_group_permissions      django_content_type
auth_message                django_session
auth_permission             django_site
auth_user                   videos_speaker
auth_user_groups            videos_video
auth_user_user_permissions

which apparently does not have the last table described in "python
manage.py sql videos". Then I try to add a video object in admin page,
it gives me error page like this:

OperationalError at /admin/videos/video/1/
no such table: videos_video_speakers

I'm fairly new to Django, so I really wish to know if I missed
something. Thanks in advance.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to [email protected]
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