Подтвердить что ты не робот

Django admin внешние данные поля поля добавить

В форме добавления для любого приложения в django admin для полей внешнего ключа этой модели.. появляется раскрывающийся список с кнопкой добавления (которая открывается во всплывающем окне). Можем ли мы иметь форму, в которой мы можем добавить поля модели внешнего ключа в той же форме.

Например,

class UserProfile(models.Model):
    user = models.ForeignKey(User, unique=True)
    contact = models.ForeignKey(Contact, blank=True, null=True)

Для полей пользователя и контакта выпадающий список с кнопкой добавления присутствует в admin add form.Can у нас есть все поля пользователя и контакты на одной странице

4b9b3361

Ответ 1

Да, вы можете сделать это, используя встроенную систему администратора.

class UserAdmin(admin.StackedInline):
    model = User
class ContactAdmin(admin.StackedInline):
    model = Contact

class UserProfileAdmin(admin.ModelAdmin):
    inlines = [ UserAdmin, ContactAdmin ]

для более подробной информации https://docs.djangoproject.com/en/dev/ref/contrib/admin/#inlinemodeladmin-objects ,

Ответ 2

Там есть дополнение django, чтобы получить строки в таких случаях, когда отношения противоположны обычным: django_reverse_admin

Вам нужно добавить django_reverse_admin в свой файл requirements.txt:

-e git+https://github.com/anziem/django_reverse_admin.git#egg=django_reverse_admin

Затем импортируйте его:

admin.py

from django_reverse_admin import ReverseModelAdmin

class UserProfileAdmin(ReverseModelAdmin):
    inline_reverse = ['user', 'contact']
    inline_type = 'tabular'  # or could be 'stacked'

admin.site.register(UserProfile, UserProfileAdmin)