Форум программистов, компьютерный форум, киберфорум
Python: Django
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
60 / 44 / 18
Регистрация: 05.03.2019
Сообщений: 313

Как в админке связать поля между собой

08.01.2020, 01:58. Показов 2239. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Category(models.Model):
    title = models.CharField(max_length=64)
 
    def chained_relation(self):
        return self.item_set.filter(is_present=True)
 
class Item(models.Model):
    category = models.ForeignKey(Category, on_delete=models.CASCADE)
    title = models.CharField(max_length=64)
    is_present = models.BooleanField(default=False)
 
class Product(models.Model):
    category = models.ForeignKey(Category, on_delete=models.CASCADE)
    item = models.ForeignKey(Item, on_delete=models.CASCADE)
    name = models.CharField(max_length = 40)
    price = models.DecimalField(max_digits=3, decimal_places=2)
В административной панели, когда мы находимся на вкладке Product какую бы мы категорию не выбрали все равно отображаются все "item". Как сделать что бы отображались только те которые принадлежат конкретной категории?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.01.2020, 01:58
Ответы с готовыми решениями:

Как связать между собой два поля (список значений одного поля зависит от значения другого поля)
Есть таблица: предмет, КодТипаМатериала (список), КодМатериала (список) для примера: стул, ткань, чёрное сукно ...

Как связать поля в БД между собой?
Есть Таблица Student.есть поле оценка по 5-бальной шкале,и есть поле по 100-бальной шкале. Вопрос - как сделать так чтобы при введение в...

Как связать МК между собой?
Хочу связать 8 маленьких МК ATtiny2313 с одним большим ATmega16. Учитывая то, что знания у меня только теоретические, как это лучше...

10
1 / 1 / 0
Регистрация: 01.11.2018
Сообщений: 32
08.01.2020, 06:52
Попробуй вывести их так:

Python
1
2
3
4
5
6
class ProductsInLine(admin.TabularInline):
    model = Item
 
@admin.register(Product)
class Product(admin.ModelAdmin):
    inlines = [Item,]
0
60 / 44 / 18
Регистрация: 05.03.2019
Сообщений: 313
08.01.2020, 14:31  [ТС]
К сожалению это не так все просто, Я про Ajax запросы.
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
08.01.2020, 22:07
Onet1me, вроде, готовых решений нет. Нужно самому писать. Вот можешь взять за основу
https://stackoverflow.com/a/22077455/10898133
0
60 / 44 / 18
Регистрация: 05.03.2019
Сообщений: 313
09.01.2020, 01:48  [ТС]
https://gitlab.com/dannosaur/d... orm-fields если будет время, посмотри пожалуйста, очень похоже на то что я ищу
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
09.01.2020, 11:28
А зачем дублировать категорию у продукта? Так проще:

Python
1
2
3
4
5
6
7
8
9
10
11
12
class Category(models.Model):
    title = models.CharField(max_length=64)
 
class Item(models.Model):
    category = models.ForeignKey(Category, on_delete=models.CASCADE)
    title = models.CharField(max_length=64)
    is_present = models.BooleanField(default=False)
 
class Product(models.Model):
    item = models.ForeignKey(Item, on_delete=models.CASCADE)
    name = models.CharField(max_length = 40)
    price = models.DecimalField(max_digits=3, decimal_places=2)
0
60 / 44 / 18
Регистрация: 05.03.2019
Сообщений: 313
09.01.2020, 19:36  [ТС]
Рыжий Лис, так не годится. Дело в том что под категории в разных категориях будут совпадать, и потом проблематично будет разгребать что к чему относится(
0
 Аватар для Wolflind
127 / 107 / 31
Регистрация: 17.03.2016
Сообщений: 445
Записей в блоге: 1
10.01.2020, 09:12
Если поле category в Product нужно только для выбора item то нет смысла добавлять его в модель это делается в форме,
а если нужно название category в item его можно вытаскивать функцией.
Как вариант можно создать форму в которой сначала выбираем категории нажимаем продолжить и заполняем остальное поля.
0
60 / 44 / 18
Регистрация: 05.03.2019
Сообщений: 313
10.01.2020, 10:03  [ТС]
Wolflind, есть пример?
0
 Аватар для Wolflind
127 / 107 / 31
Регистрация: 17.03.2016
Сообщений: 445
Записей в блоге: 1
10.01.2020, 13:28
По форме нет но где то видел пример
по функции могу
0
60 / 44 / 18
Регистрация: 05.03.2019
Сообщений: 313
12.01.2020, 23:11  [ТС]
Я так и не сделал Ajax запрос, но нашел как это можно сделать переопределив стандартные функции, правда надо будет нажимать "сохранить и продолжить редактирование". Не знаю можно ли выкладывать тут ссылки на сторонние ресурсы, но попробую: https://issue.life/questions/9853595.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.01.2020, 23:11
Помогаю со студенческими работами здесь

Как связать между собой классы?
Связать между собой классы Автосалон, Автомобиль , так, чтобы каждый Автосалон содержал Автомобили, каждый Автомобиль содержал информацию,...

Как связать между собой справочники?
можно как то задать связи что бы у одной таблицы было несколько разных связей из разных справочников? Просто родителя я так понял можно...

Как связать функции между собой
У меня не работает анимация кнопки, не знаю в чём проблема, думаю это из-за того, что функция setupUi не связана с остальными (не уверен) ...

Как связать между собой 3 класса
Подскажите пожалуйста, как можно связать между собой 3 класса.

Как связать таблицы между собой?
Здравствуйте, имеется такая схема, скажите пожалуйста, как связать эти таблицы между собой? не могу связать таблицу клиентов и договор...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru