mirror of
https://github.com/django/django.git
synced 2024-12-25 18:46:22 +00:00
d818e0c9b2
This is the result of Christopher Medrela's 2013 Summer of Code project. Thanks also to Preston Holmes, Tim Graham, Anssi Kääriäinen, Florian Apolloner, and Alex Gaynor for review notes along the way. Also: Fixes #8579, fixes #3055, fixes #19844.
58 lines
1.3 KiB
Python
58 lines
1.3 KiB
Python
"""
|
|
Tests of ModelAdmin system checks logic.
|
|
"""
|
|
|
|
from django.db import models
|
|
from django.utils.encoding import python_2_unicode_compatible
|
|
|
|
|
|
class Album(models.Model):
|
|
title = models.CharField(max_length=150)
|
|
|
|
|
|
@python_2_unicode_compatible
|
|
class Song(models.Model):
|
|
title = models.CharField(max_length=150)
|
|
album = models.ForeignKey(Album)
|
|
original_release = models.DateField(editable=False)
|
|
|
|
class Meta:
|
|
ordering = ('title',)
|
|
|
|
def __str__(self):
|
|
return self.title
|
|
|
|
def readonly_method_on_model(self):
|
|
# does nothing
|
|
pass
|
|
|
|
|
|
class TwoAlbumFKAndAnE(models.Model):
|
|
album1 = models.ForeignKey(Album, related_name="album1_set")
|
|
album2 = models.ForeignKey(Album, related_name="album2_set")
|
|
e = models.CharField(max_length=1)
|
|
|
|
|
|
class Author(models.Model):
|
|
name = models.CharField(max_length=100)
|
|
|
|
|
|
class Book(models.Model):
|
|
name = models.CharField(max_length=100)
|
|
subtitle = models.CharField(max_length=100)
|
|
price = models.FloatField()
|
|
authors = models.ManyToManyField(Author, through='AuthorsBooks')
|
|
|
|
|
|
class AuthorsBooks(models.Model):
|
|
author = models.ForeignKey(Author)
|
|
book = models.ForeignKey(Book)
|
|
|
|
|
|
class State(models.Model):
|
|
name = models.CharField(max_length=15)
|
|
|
|
|
|
class City(models.Model):
|
|
state = models.ForeignKey(State)
|