mirror of
https://github.com/django/django.git
synced 2025-05-07 23:46:30 +00:00
Fixed #35887 -- Added imports and admin.site.register to non-partial admin inline doc examples.
This commit is contained in:
parent
512a2bad05
commit
8590d05d44
@ -2251,6 +2251,7 @@ information.
|
|||||||
inlines to a model by specifying them in a ``ModelAdmin.inlines``::
|
inlines to a model by specifying them in a ``ModelAdmin.inlines``::
|
||||||
|
|
||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
|
from myapp.models import Author, Book
|
||||||
|
|
||||||
|
|
||||||
class BookInline(admin.TabularInline):
|
class BookInline(admin.TabularInline):
|
||||||
@ -2262,6 +2263,9 @@ information.
|
|||||||
BookInline,
|
BookInline,
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
admin.site.register(Author, AuthorAdmin)
|
||||||
|
|
||||||
Django provides two subclasses of ``InlineModelAdmin`` and they are:
|
Django provides two subclasses of ``InlineModelAdmin`` and they are:
|
||||||
|
|
||||||
* :class:`~django.contrib.admin.TabularInline`
|
* :class:`~django.contrib.admin.TabularInline`
|
||||||
@ -2494,6 +2498,10 @@ Take this model for instance::
|
|||||||
from django.db import models
|
from django.db import models
|
||||||
|
|
||||||
|
|
||||||
|
class Person(models.Model):
|
||||||
|
name = models.CharField(max_length=128)
|
||||||
|
|
||||||
|
|
||||||
class Friendship(models.Model):
|
class Friendship(models.Model):
|
||||||
to_person = models.ForeignKey(
|
to_person = models.ForeignKey(
|
||||||
Person, on_delete=models.CASCADE, related_name="friends"
|
Person, on_delete=models.CASCADE, related_name="friends"
|
||||||
@ -2507,7 +2515,7 @@ you need to explicitly define the foreign key since it is unable to do so
|
|||||||
automatically::
|
automatically::
|
||||||
|
|
||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from myapp.models import Friendship
|
from myapp.models import Friendship, Person
|
||||||
|
|
||||||
|
|
||||||
class FriendshipInline(admin.TabularInline):
|
class FriendshipInline(admin.TabularInline):
|
||||||
@ -2520,6 +2528,9 @@ automatically::
|
|||||||
FriendshipInline,
|
FriendshipInline,
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
admin.site.register(Person, PersonAdmin)
|
||||||
|
|
||||||
Working with many-to-many models
|
Working with many-to-many models
|
||||||
--------------------------------
|
--------------------------------
|
||||||
|
|
||||||
@ -2548,24 +2559,22 @@ If you want to display many-to-many relations using an inline, you can do
|
|||||||
so by defining an ``InlineModelAdmin`` object for the relationship::
|
so by defining an ``InlineModelAdmin`` object for the relationship::
|
||||||
|
|
||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
|
from myapp.models import Group
|
||||||
|
|
||||||
|
|
||||||
class MembershipInline(admin.TabularInline):
|
class MembershipInline(admin.TabularInline):
|
||||||
model = Group.members.through
|
model = Group.members.through
|
||||||
|
|
||||||
|
|
||||||
class PersonAdmin(admin.ModelAdmin):
|
|
||||||
inlines = [
|
|
||||||
MembershipInline,
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
class GroupAdmin(admin.ModelAdmin):
|
class GroupAdmin(admin.ModelAdmin):
|
||||||
inlines = [
|
inlines = [
|
||||||
MembershipInline,
|
MembershipInline,
|
||||||
]
|
]
|
||||||
exclude = ["members"]
|
exclude = ["members"]
|
||||||
|
|
||||||
|
|
||||||
|
admin.site.register(Group, GroupAdmin)
|
||||||
|
|
||||||
There are two features worth noting in this example.
|
There are two features worth noting in this example.
|
||||||
|
|
||||||
Firstly - the ``MembershipInline`` class references ``Group.members.through``.
|
Firstly - the ``MembershipInline`` class references ``Group.members.through``.
|
||||||
|
@ -683,6 +683,10 @@ Once you've written your model admin definitions, they can be
|
|||||||
registered with any ``Admin`` instance::
|
registered with any ``Admin`` instance::
|
||||||
|
|
||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
|
from myapp.models import Author, Book, Publisher
|
||||||
|
|
||||||
|
# Import our custom ModelAdmin and TabularInline from where they're defined.
|
||||||
|
from myproject.admin import MultiDBModelAdmin, MultiDBTabularInline
|
||||||
|
|
||||||
|
|
||||||
# Specialize the multi-db admin objects for use with specific models.
|
# Specialize the multi-db admin objects for use with specific models.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user