29
30
def __unicode__(self):
30
31
return u'I am %s, a child of %s' % (self.name, self.parent)
33
class Book(models.Model):
34
name = models.CharField(max_length=50)
36
class Author(models.Model):
37
name = models.CharField(max_length=50)
38
books = models.ManyToManyField(Book)
40
class BookInline(admin.TabularInline):
41
model = Author.books.through
43
class AuthorAdmin(admin.ModelAdmin):
44
inlines = [BookInline]
46
admin.site.register(Author, AuthorAdmin)
48
class Holder(models.Model):
49
dummy = models.IntegerField()
52
class Inner(models.Model):
53
dummy = models.IntegerField()
54
holder = models.ForeignKey(Holder)
55
readonly = models.CharField("Inner readonly label", max_length=1)
58
class InnerInline(admin.StackedInline):
61
readonly_fields = ('readonly',) # For bug #13174 tests.
64
class Holder2(models.Model):
65
dummy = models.IntegerField()
68
class Inner2(models.Model):
69
dummy = models.IntegerField()
70
holder = models.ForeignKey(Holder2)
72
class HolderAdmin(admin.ModelAdmin):
75
js = ('my_awesome_admin_scripts.js',)
77
class InnerInline2(admin.StackedInline):
81
js = ('my_awesome_inline_scripts.js',)
83
class Holder3(models.Model):
84
dummy = models.IntegerField()
87
class Inner3(models.Model):
88
dummy = models.IntegerField()
89
holder = models.ForeignKey(Holder3)
91
class InnerInline3(admin.StackedInline):
95
js = ('my_awesome_inline_scripts.js',)
97
# Test bug #12561 and #12778
98
# only ModelAdmin media
99
admin.site.register(Holder, HolderAdmin, inlines=[InnerInline])
100
# ModelAdmin and Inline media
101
admin.site.register(Holder2, HolderAdmin, inlines=[InnerInline2])
103
admin.site.register(Holder3, inlines=[InnerInline3])
107
class Person(models.Model):
108
firstname = models.CharField(max_length=15)
110
class OutfitItem(models.Model):
111
name = models.CharField(max_length=15)
113
class Fashionista(models.Model):
114
person = models.OneToOneField(Person, primary_key=True)
115
weaknesses = models.ManyToManyField(OutfitItem, through='ShoppingWeakness', blank=True)
117
class ShoppingWeakness(models.Model):
118
fashionista = models.ForeignKey(Fashionista)
119
item = models.ForeignKey(OutfitItem)
121
class InlineWeakness(admin.TabularInline):
122
model = ShoppingWeakness
125
admin.site.register(Fashionista, inlines=[InlineWeakness])
32
128
__test__ = {'API_TESTS': """
34
130
# Regression test for #9362