mirror of
https://github.com/django/django.git
synced 2024-12-28 03:55:50 +00:00
aa5ef0d4fc
Thanks to Shai Berger, Loïc Bistuer, Simon Charette, Andrew Godwin, Tim Graham, Carl Meyer, and others for their review and input.
71 lines
1.7 KiB
Python
71 lines
1.7 KiB
Python
# -*- coding: utf-8 -*-
|
|
from __future__ import unicode_literals
|
|
|
|
from django.apps.registry import Apps
|
|
from django.db import models
|
|
from django.utils import six
|
|
from django.utils.encoding import python_2_unicode_compatible
|
|
|
|
|
|
class CustomModelBase(models.base.ModelBase):
|
|
pass
|
|
|
|
|
|
class ModelWithCustomBase(six.with_metaclass(CustomModelBase, models.Model)):
|
|
pass
|
|
|
|
|
|
@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
|
|
apps = Apps()
|
|
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
|
|
apps = Apps()
|
|
|
|
|
|
class UnmigratedModel(models.Model):
|
|
"""
|
|
A model that is in a migration-less app (which this app is
|
|
if its migrations directory has not been repointed)
|
|
"""
|
|
pass
|
|
|
|
|
|
class FoodQuerySet(models.query.QuerySet):
|
|
pass
|
|
|
|
|
|
class BaseFoodManager(models.Manager):
|
|
def __init__(self, a, b, c=1, d=2):
|
|
super(BaseFoodManager, self).__init__()
|
|
self.args = (a, b, c, d)
|
|
|
|
|
|
class FoodManager(BaseFoodManager.from_queryset(FoodQuerySet)):
|
|
use_in_migrations = True
|
|
|
|
|
|
class NoMigrationFoodManager(BaseFoodManager.from_queryset(FoodQuerySet)):
|
|
pass
|