Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 20, 2012 20:19:08

ntc
Зарегистрирован: 2012-10-20
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

django admin многие ко многим

Здравствуйте подскажите пожалуйста как вывести в админке 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)

Что нужно написать, что бы появился третий столбец, в котором будут отображаться авторы книги (через перенос строки).

Офлайн

#2 Окт. 21, 2012 22:13:33

ntc
Зарегистрирован: 2012-10-20
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

django admin многие ко многим

Спасибо за внимание, разобрался сам.

Офлайн

#3 Фев. 8, 2013 20:13:37

devalentino
Зарегистрирован: 2013-02-08
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

django admin многие ко многим

ntc
Спасибо за внимание, разобрался сам.
Написать решение религия не позволяет?

У меня похожая проблема, не могу найти ответ второй день уже((

Офлайн

#4 Фев. 9, 2013 07:36:17

ziro
От:
Зарегистрирован: 2009-08-13
Сообщения: 225
Репутация: +  8  -
Профиль   Отправить e-mail  

django admin многие ко многим

Решение простое и описано в документации по джанге - https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.list_display

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

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

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



Офлайн

#5 Фев. 9, 2013 11:34:04

devalentino
Зарегистрирован: 2013-02-08
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

django admin многие ко многим

Сейчас у меня связанные модели в выпадающем списке. А я хочу чтобы была возможность редавктировать саму модель.



Я хочу чтобы вместо выпадающего списка картинки были поля картинки. В 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

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version