id,summary,reporter,owner,description,type,status,component,version,severity,resolution,keywords,cc,stage,has_patch,needs_docs,needs_tests,needs_better_patch,easy,ui_ux 343,One-to-one relations - different primary_key,Bless,Adrian Holovaty,"== When is used a different primary_key (no integer) in One-to-one relations, id is always a integer == {{{ class Nic(meta.Model): fields = ( meta.CharField('name', maxlength=4), ) class Network(meta.Model): fields = ( meta.OneToOneField(nics.Nic), meta.CharField('name', maxlength=3, choices=NETWORK_TYPES, unique=True), ) BEGIN; CREATE TABLE nics_nics ( id integer NOT NULL PRIMARY KEY, name varchar(4) NOT NULL ); CREATE TABLE nics_networks ( id integer NOT NULL PRIMARY KEY REFERENCES nics_nics (id), name varchar(3) NOT NULL UNIQUE ); COMMIT; }}} '''id integer''' NOT NULL PRIMARY KEY REFERENCES nics_nics (id), -> '''OK''' ---- {{{ class Nic(meta.Model): fields = ( meta.CharField('name', maxlength=4, primary_key=True), ) class Network(meta.Model): fields = ( meta.OneToOneField(nics.Nic), meta.CharField('name', maxlength=3, choices=NETWORK_TYPES, unique=True), ) BEGIN; CREATE TABLE nics_nics ( name varchar(4) NOT NULL PRIMARY KEY ); CREATE TABLE nics_networks ( id integer NOT NULL PRIMARY KEY REFERENCES nics_nics (name), name varchar(3) NOT NULL UNIQUE ); COMMIT; }}} '''id integer''' NOT NULL PRIMARY KEY REFERENCES nics_nics (name), -> '''Bug''' [[BR]] It should be ''varchar'' in this case.",defect,closed,Metasystem,dev,normal,fixed,One-to-one,,Unreviewed,0,0,0,0,0,0