﻿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
