Hi I am able to create the field through in postgres. When i execute that sql statement :-
CREATE TABLE "visit_visit_research" ( "id" serial NOT NULL PRIMARY KEY, "visit_id" integer NOT NULL REFERENCES "visit_visit" ("id") DEFERRABLE INITIALLY DEFERRED, "research_id" integer NOT NULL REFERENCES "www_researchprotocol" ("id") DEFERRABLE INITIALLY DEFERRED, UNIQUE ("visit_id", "research_id") ) ; I get this :- psql:db/2012-03-24_research_protocol.sql:7: NOTICE: CREATE TABLE will create implicit sequence "visit_visit_research_id_seq" for serial column " visit_visit_research.id" psql:db/2012-03-24_research_protocol.sql:7: NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "visit_visit_research_pkey" for table "visit_visit_research" psql:db/2012-03-24_research_protocol.sql:7: NOTICE: CREATE TABLE / UNIQUE will create implicit index "visit_visit_research_visit_id_key" for table "visit_visit_research" CREATE TABLE So the field gets created but when i am going in django-admin in table visit i am getting an error.It is not showing up two boxes i mean the many to many widget which django displays. This is the error Exception Type: DatabaseError at /admin/visit/visit/20/ Exception Value: column visit_visit_research.researchprotocol_id does not exist LINE 1: ...visit_research" ON ("www_researchprotocol"."id" = "visit_vis... ^ Any help will be appreciated. Thanks in advance. On Thu, Mar 22, 2012 at 6:26 PM, Joel Goldstick <joel.goldst...@gmail.com>wrote: > On Thu, Mar 22, 2012 at 6:55 AM, Nikhil Verma <varma.nikhi...@gmail.com> > wrote: > > Hi All > > > > I want to add a ManyToManyField to an existing django model. > > > > I can use sql app_name and see the statement. > > > > My models > > > > Class Visit(modes.Model): > > x = something > > . ...... > > ...... and so on > > # finally Here i want to add that field research protol > > research_protocol = > > models.ManyToManyField(ResearchProtocol,blank=True) > > > > > > > > class ResearchProtocol(models.Model): > > title = models.CharField(max_length=30) > > description = models.TextField() > > start_date = models.DateField(_("Date Started")) > > end_date = models.DateField(_("Date Completed")) > > > > def __unicode__(self): > > return '%s' % self.title > > > > > > > > So i made an sql statement like this:- > > > > CREATE TABLE "visit_visit_research_protocols" > > ( > > "id" integer NOT NULL PRIMARY KEY, > > > > "visit_id" integer NOT NULL REFERENCES "visit_visit" ("id") > DEFERRABLE > > INITIALLY DEFERRED, > > "research_protocols_id" varchar(80) NOT NULL REFERENCES > > "www_researchprotocol" ("title") DEFERRABLE INITIALLY DEFERRED, > > UNIQUE ("visit_id","research_protocols_id") > > ); > > > > The dbshell says:- > > psql:db/2012-03-22_research_id.sql:8: NOTICE: CREATE TABLE / PRIMARY KEY > > will create implicit index "visit_visit_research_protocols_pkey" for > table > > "visit_visit_research_protocols" > > psql:db/2012-03-22_research_id.sql:8: NOTICE: CREATE TABLE / UNIQUE will > > create implicit index > > "visit_visit_research_protocol_visit_id_research_protocols_i_key" for > table > > "visit_visit_research_protocols" > > psql:db/2012-03-22_research_id.sql:8: ERROR: there is no unique > constraint > > matching given keys for referenced table "www_researchprotocol" > > > > > > > > What mistake i am doing ? > > > > Thanks in advance. > > > > > > -- > > Regards > > Nikhil Verma > > +91-958-273-3156 > > > > -- > > 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. > > You can't add the many to many relationship after you already have the > model with django. See this: > > http://stackoverflow.com/questions/830130/adding-a-field-to-an-existing-django-model > That answer points to South, which I have played with but am not > proficient yet. Another thought is to create a new model, identical > to your present one, but include the many2many and dbsync that. If it > works, copy your data from your old model into your new model. > > > -- > Joel Goldstick > > -- > 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. > > -- Regards Nikhil Verma +91-958-273-3156 -- 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.