Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 23, 2011 13:35:38

maxwell
От:
Зарегистрирован: 2008-08-26
Сообщения: 111
Репутация: +  0  -
Профиль   Отправить e-mail  

ForeignKey, отображение в админке.

Что пытаюсь сделать:
Есть инвойс, в инвойсе есть ссылки на продукты, их цена и количество.
Сейчас сделал промежуточную модель:

class Product(models.Model):
<..>many fields<..>

class Ivoice(models.Model):
<..>many fields<..>

class InvoiceProduct(models.Model):
product = models.ForeignKey(Product)
invoice = models.ForeignKey(Invoice)
quantity
price
Во-первых, сразу смущает эта «промежуточная модель», по сути она нужна только из-за кол-ва и цены (которая по дефолту как у продукта, но, есть возможность изменить). Да и хранит информацию она всегда (ну, потом переопределю метод удаления и при удалении инвойса буду удалять и записи из этой таблицы)
Во-вторых, в админке приходится делать Inline для инвойса, но заказчику не нравится внешний вид и функциональность.
Сейчас есть Inline для InvoiceProduct, в нем есть raw_id_field (для продукта). Клиенту приходится нажимать на кнопку выбора продукта &#8594; выскакивает окно &#8594; выбирает продукт &#8594; окно закрылось &#8594; в инлайне заполнил кол-во и цену.

Он хочет так: Он нажимает «Добавить продукт», открывается окошко, он выбирает продукт, кол-во, цену, жмакает добавить и он добавляется в «основном» окне.

Мои соображения:
1. В сети видел какое-то решение с AJAX'ом для более удобного интерфейса добавления ForeignKey, там скриншотов не было, на взгляд оценить по коду то ли это не смог. Позже попробую поставить и посмотреть.
2. Писать свой Админ-модуль (на ряду с TabularInline и StackedInline), с темплейтами, обработчиками и прочим. (Пока пугает отсутствие опыта написания такого и видимый объем работы)
3. ???
Буду рад любым соображениям.



Офлайн

#2 Сен. 28, 2011 15:58:37

Haikson
От: Omsk
Зарегистрирован: 2011-09-20
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

ForeignKey, отображение в админке.

Офлайн

#3 Сен. 29, 2011 14:32:23

maxwell
От:
Зарегистрирован: 2008-08-26
Сообщения: 111
Репутация: +  0  -
Профиль   Отправить e-mail  

ForeignKey, отображение в админке.

Haikson, да, я переделал связь в Generic и иду по второму пути (пишу свой виджет для Админки)



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version