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 23415,OneToField reference to default 'id' instead of actual primary key,sky-chen,Markus Holtermann,"== Reproduce == 1. create a new project 'bug' 2. create two app 'deg', 'pubsite' 3. create models: {{{ # bug/deg/models.py from django.db import models # Clients class Client(models.Model): client_id = models.IntegerField('ID', primary_key=True) name = models.CharField('Name', max_length=255) short_name = models.CharField('Short name', max_length=35) class Meta: managed = False db_table = 'Clients' verbose_name = 'Client' # bug/pubsite/models.py from django.db import models from django.contrib.auth.models import User from deg.models import Client class Account(models.Model): user = models.OneToOneField(User) deg_client = models.OneToOneField(Client) }}} 4. make migrations 5. check sqlmigrate pubsite 0001 {{{ BEGIN; CREATE TABLE `pubsite_account` (`id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY, `deg_client_id` integer NOT NULL UNIQUE, `user_id` integer NOT NULL UNIQUE); ALTER TABLE `pubsite_account` ADD CONSTRAINT pubsite_account_deg_client_id_1b7724045f4a7977_fk_Clients_id FOREIGN KEY (`deg_client_id`) REFERENCES `Clients` (`id`); ALTER TABLE `pubsite_account` ADD CONSTRAINT pubsite_account_user_id_3d5e7937e7fad36_fk_auth_user_id FOREIGN KEY (`user_id`) REFERENCES `auth_user` (`id`); COMMIT; }}} ",Bug,closed,Migrations,1.7,Release blocker,fixed,,Markus Holtermann,Accepted,1,0,0,0,0,0