﻿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
24912	prefetch_related fails with sqlite3 database and UUIDField primary keys	brki	brki	"Here's a test.py that fails on sqlite3, but succeeds if run on postgresql:

{{{
import uuid
from django.db import models
from django.test import TestCase


class Award(models.Model):
    id = models.UUIDField(primary_key=True, default=uuid.uuid4)
    name = models.CharField(max_length=20)


class Player(models.Model):
    id = models.UUIDField(primary_key=True, default=uuid.uuid4)
    name = models.CharField(max_length=20)
    awards = models.ManyToManyField(Award)


class UUIDSqliteDemo(TestCase):
    def setUp(self):
        awards = [
            Award.objects.create(name='star'),
            Award.objects.create(name='trophy'),
        ]
        player = Player.objects.create(name='Beth')
        player.awards.add(*awards)
        self.player_id = player.id

    # This test passes if the target database is Postgresql, but fails for sqlite3:
    def test_prefetch_related(self):
        players = list(Player.objects.filter(id=self.player_id).prefetch_related('awards'))
        player = players[0]
        # For sqlite3, this fails with ""2 != 0"":
        self.assertEqual(2, len(player.awards.all()))
}}}

I also tried using a CharField instead of a UUIDField as the pk field; that worked fine.  So it seems to be a problem with the UUIDField and sqlite3 (or perhaps all non-Postgresql dbs?)."	Bug	closed	Database layer (models, ORM)	dev	Release blocker	fixed	UUIDField		Accepted	1	0	0	0	0	0
