mirror of
https://github.com/django/django.git
synced 2024-11-18 07:26:04 +00:00
0242c56fd8
Improved Andrew's hack to create temporary app caches to handle migrations. Now the main app cache has a "master" flag set to True (which is a non-default keyword argument, thus unlikely to be used by mistake). Other app cache instances have "master" set to False. The only sanctioned way to access the app cache is by importing django.core.apps.app_cache. If you were instanciating an app cache and relying on the Borg pattern, you'll have to refactor your code.
36 lines
982 B
Python
36 lines
982 B
Python
# -*- coding: utf-8 -*-
|
|
from __future__ import unicode_literals
|
|
|
|
from django.core.apps.cache import AppCache
|
|
from django.db import models
|
|
from django.utils.encoding import python_2_unicode_compatible
|
|
|
|
|
|
@python_2_unicode_compatible
|
|
class UnicodeModel(models.Model):
|
|
title = models.CharField('ÚÑÍ¢ÓÐÉ', max_length=20, default='“Ðjáñgó”')
|
|
|
|
class Meta:
|
|
# Disable auto loading of this model as we load it on our own
|
|
app_cache = AppCache()
|
|
verbose_name = 'úñí©óðé µóðéø'
|
|
verbose_name_plural = 'úñí©óðé µóðéøß'
|
|
|
|
def __str__(self):
|
|
return self.title
|
|
|
|
|
|
class Unserializable(object):
|
|
"""
|
|
An object that migration doesn't know how to serialize.
|
|
"""
|
|
pass
|
|
|
|
|
|
class UnserializableModel(models.Model):
|
|
title = models.CharField(max_length=20, default=Unserializable())
|
|
|
|
class Meta:
|
|
# Disable auto loading of this model as we load it on our own
|
|
app_cache = AppCache()
|