Сайт администратора Django - список элементов ForeignKey в виде списка изменений на странице изменений
В (игрушечной версии) моего проекта есть Владельцы, которым принадлежит любое количество Объектов. мой models.py
файл выглядит как
class Owner(models.Model)
name = models.CharField(max_length=50)
date_of_birth = models.DateField()
class Object(models.Model)
name = models.CharField(max_length=50)
price = models.models.DecimalField(max_digits=9, decimal_places=2)
owner = models.ForeignKey(Owner)
Мой вопрос касается страницы изменения владельца на сайте администратора, например
http://mysite.com/admin/myapp/owner/1/.
Теперь я знаю, что если я зарегистрируюсь Object
как TabularInline
или StackedInline
затем я получаю редактируемый список объектов, которыми владеет этот владелец. Однако в реальной версии моего проекта Object
имеет что-то вроде 25 полей, а не 2, и поэтому ни один из этих вариантов не является эстетически желательным.
Вместо этого мне бы хотелось, чтобы на странице изменений владельца отображался список изменений всех объектов, которыми владеет владелец. (Таким образом, я получаю хороший компактный список всех Объектов Владельца, и если мне нужно отредактировать детали одного, я могу нажать на его ссылку и отредактировать его на своей собственной странице.) По сути, я хочу содержимое
http://mysite.com/admin/myapp/object/?owner__id__exact=1
появляться внутри
http://mysite.com/admin/myapp/owner/1/.
Есть ли способ сделать это?
PS: я использую Django 1.4 и Python 2.7.
1 ответ
С помощью этих атрибутов вы можете определить, какой класс формы и / или поля использовать в каждом InlineModelAdmin, и таким образом ограничить количество полей ввода для каждого объекта.