Найти - Пользователи
Полная версия: django admin многие ко многим
Начало » Django » django admin многие ко многим
1
ntc
Здравствуйте подскажите пожалуйста как вывести в админке 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'Автор')

Содержание admin.py:

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
Спасибо за внимание, разобрался сам.
devalentino
ntc
Спасибо за внимание, разобрался сам.
Написать решение религия не позволяет?

У меня похожая проблема, не могу найти ответ второй день уже((
ziro
Решение простое и описано в документации по джанге - https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.list_display

В двух словах - необходимо определить метод модели, который будет выводить нужные Вам данные на странице списка объектов в админке и навешать на него определенные атрибуты.

Скорее всего в Вашем случае надо повнимательнее посмотреть этот раздел по атрибуту “short_description”, которое, собственно, и определяет как должен называться столбец в админке.

Если же Вам надо выводить в виде html-кода, то тогда поможет “allow_tags”, который отменяет применение safe к результату метода.
devalentino
Сейчас у меня связанные модели в выпадающем списке. А я хочу чтобы была возможность редавктировать саму модель.



Я хочу чтобы вместо выпадающего списка картинки были поля картинки. В 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
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB