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 у нас есть все поля пользователя и контакты на одной странице
Ответы
Ответ 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)