﻿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
18778	ForeignKey to a model with a CharField primary key produces unexpected results for an empty-string PK value	Ubercore	nobody	"{{{
class ModelA(models.Model):
    code = models.CharField(max_length=50, primary_key=True)

class ModelB(models.Model):
    model_a = models.ForeignKey(ModelA, blank=True, null=True, max_length=50)
}}}

In this case, if there's an instance of {{{ModelA}}} such that {{{instance_a.code == ''}}}, {{{ModelB}}} will not be able to reference it properly. Upon save, {{{db.models.fields.related.ForeignKey}}} will change {{{model_a_id}}} from {{{''}}} to {{{NULL}}}. While this is an odd case, and I don't particularly like the situation of having an empty string as a primary key, I think Django should at least be able to handle it. The offending code is at [https://github.com/django/django/blob/master/django/db/models/fields/related.py#L987]. "	Bug	closed	Database layer (models, ORM)	dev	Normal	invalid		Ubercore	Unreviewed	0	0	0	0	0	0
