Форум сайта python.su
Здравствуйте подскажите пожалуйста как вывести в админке django столбец из связи многие ко многим?
Пример:
Есть модель books и author:
class books(models.Model): name = models.CharField(max_length=50, verbose_name=u'Название книги') year = models.IntegerField(max_length=10, verbose_name=u'Год выпуска') author = models.ManyToManyField(author) class author(models.Model): full_name = models.CharField(max_length=50, verbose_name=u'Автор')
from django.contrib import admin from support.models import books, author class BooksAdmin(admin.ModelAdmin): list_display = ('name', 'year', 'ЧТО_ТУТ_НАПИСАТЬ?') admin.site.register(books, BooksAdmin)
Офлайн
Спасибо за внимание, разобрался сам.
Офлайн
ntcНаписать решение религия не позволяет?
Спасибо за внимание, разобрался сам.
Офлайн
Решение простое и описано в документации по джанге - https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.list_display
В двух словах - необходимо определить метод модели, который будет выводить нужные Вам данные на странице списка объектов в админке и навешать на него определенные атрибуты.
Скорее всего в Вашем случае надо повнимательнее посмотреть этот раздел по атрибуту “short_description”, которое, собственно, и определяет как должен называться столбец в админке.
Если же Вам надо выводить в виде html-кода, то тогда поможет “allow_tags”, который отменяет применение safe к результату метода.
Офлайн
Сейчас у меня связанные модели в выпадающем списке. А я хочу чтобы была возможность редавктировать саму модель.
Я хочу чтобы вместо выпадающего списка картинки были поля картинки. В Django такое можно реализовать?
Вот модели:
class Image(models.Model): color = models.ForeignKey(Color) src = models.ImageField(upload_to='media/img/') alt = models.CharField(max_length=255) def __unicode__(self): return '{0} ({1})'.format(self.alt, self.color.title) class Manufacturer(models.Model): title = models.CharField(max_length=255) image = models.OneToOneField(Image, parent_link=True) def __unicode__(self): return self.title
Офлайн