Найти - Пользователи
Полная версия: django-grappelli and ManyToManyField
Начало » Django » django-grappelli and ManyToManyField
1
Dr.Livsi
Собственно, есть 3 модели:
models.py
class ModelA(models.Model):
fieldA=models.ManyToManyField('ModelB', throuth='ModelC')
title=models.CharField()

class ModelB(models.Model):
field1=models.CharField()
title=models.CharField()

class ModelC(models.Model):
modela=models.ForeignKey(ModelA)
modelb=models.ForeignKey(ModelB)
additional_data=models.CharField()
date=models.DateField()

Есть файл admin.py:
class ModelAAdmin(admin.ModelAdmin):
list_field=('title',)
filter_horizontal=('fieldA',)

class ModelBAdmin(admin.ModelAdmin):
list_field=('title',)

Проблема такова: в django-grappelli, в админке не отображается поле ManyToManyField.
Собственно, кроме данной проблемы есть еще один вопрос:
Как сделать так, что бы при добавлении в модель А объектов из модели Б можно было так же добавлять дополнительные данные в промежуточную таблицу ModelC
lorien
1) Выкинуть django-grapelli
2) Попробуйте использовать many-to-many (A <–> B) c опцией through, которая будет ссылаться на модель C
chaotism
django-suit вместо grapelli можно взять
Dr.Livsi
lorien, chaotism
1) варианты убрать grappelli не рассматриваются. Этот вопрос не мною решается.
2) В m2m связи уже указана промежуточная модель, если вы не обратили внимание. Я там просто в through опечатался. Я, конечно, не правильно сформулировал 2ю задачу: не просто добавить дополнительные данные, а иметь возможность сделать это в админке.
На самом деле я пока вижу только один вариант: вывести в админку модель С и там проставить эти самые дополнительные данные. Но не очень удобно (получается есть лишние действия: сначала к модели а привязываются объекты из модели b, затем надо заходить в модель С и проставлять дополнительные данные по каждому объединениею a-b). Было бы лучше сделать так: при привязке объектов модели B к объектам модели А, указывать где-то эти самые доп.параметры, которые должны сохраняться в промежуточную модель C.
lorien
http://stackoverflow.com/questions/3153026/django-1-2-1-inline-admin-for-many-to-many-fields гляньте тут, люди обсуждают как inline интерфейс настроить для many-to-many, это вроде бы то, что вам нужно.
Dr.Livsi
Спасибо :) Не смотрел, что там, но наверное именно так я уже и сделал. Через Inline.
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