Форум программистов, компьютерный форум, киберфорум
Python: Django
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
11 / 15 / 8
Регистрация: 12.10.2011
Сообщений: 811

Связи в моделях

06.03.2023, 11:37. Показов 445. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Есть 2 модели, из 1 модели нужно сделать связь со второй и добавить 2 поля, как это правельно сделать?
Python
1
2
3
4
5
6
7
8
9
class ITR(models.Model):
    itr1 = models.CharField(max_length=128, verbose_name='ИТР 1')
    mail_itr1 = models.EmailField(verbose_name='эл.почта ИТР 1')
 
class Worker(models.Model):   
    itr_1 = models.ForeignKey(ITR, on_delete=models.CASCADE, verbose_name='ИТР', blank=True, null=True)
    mail_itr_1 = models.ForeignKey(ITR, on_delete=models.CASCADE, verbose_name='эл почта ИТР1', blank=True, null=True)
    itr_2 = models.ForeignKey(ITR, on_delete=models.CASCADE,  verbose_name='ИТР2', blank=True, null=True)
    mail_itr_2 = models.ForeignKey(ITR, on_delete=models.CASCADE, verbose_name='эл почта ИТР2', blank=True, null=True)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.03.2023, 11:37
Ответы с готовыми решениями:

Вырезание отверстий в 3д моделях
Как можно реализовать динамическое редактирование 3д модели в игре? Нужно сделать такую же механику как в игре sand balls, или крокодил...

Массивы в моделях Entity
Здравствуйте! Такой вопрос, у меня есть модель entity следующего содержания: public class Railway_carriage { public...

Метод и свойство в моделях
У меня есть тестовое, там сказано следующее 1. Модель User без кастомных полей 
 2. Модель Article с полем text 
 3....

6
60 / 44 / 18
Регистрация: 05.03.2019
Сообщений: 313
07.03.2023, 23:01
Можно подробнее
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
08.03.2023, 08:30
Ну явно не так

Python
1
2
3
class ITR(models.Model):
    name = models.CharField(verbose_name='ИТР', max_length=128)
    email = models.EmailField(verbose_name='эл.почта', blank=True, null=True)
Как я понял, здесь связь-многие-ко-многим? Или внутри Worker не более двух ITR?

Первый вариант:
Python
1
2
class Worker(models.Model):
    itrs = models.ManyToManyField(ITR)
Второй вариант:
Python
1
2
3
class Worker(models.Model):   
    itr1 = models.ForeignKey(ITR, verbose_name='ИТР')
    itr2 = models.ForeignKey(ITR, verbose_name='ИТР2', null=True)
1
11 / 15 / 8
Регистрация: 12.10.2011
Сообщений: 811
12.03.2023, 00:45  [ТС]
Да, спасибо, надо связь многие ко многим.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
12.03.2023, 06:45
Тогда вот:
Python
1
2
3
4
5
6
class ITR(models.Model):
    name = models.CharField(verbose_name='ИТР', max_length=128)
    email = models.EmailField(verbose_name='эл.почта', blank=True, null=True)
 
class Worker(models.Model):
    itrs = models.ManyToManyField(ITR)
Миграцию сгенеришь и применишь к БД сам.
0
11 / 15 / 8
Регистрация: 12.10.2011
Сообщений: 811
12.03.2023, 23:18  [ТС]
Что то не могу разобраться, как в таком случае выводить ИТР?
Python
1
<td>{{ spisok.itrs.name }}</td>
но выводит пусто.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
13.03.2023, 17:40
Во-первых, данные должны быть в базе.

Во-вторых, так:
HTML5
1
2
3
4
5
<td>
    {% for i in spisok.itrs.all %}
        {{ i.name }}<br>
    {% endfor %}
</td>
Или так:
Python
1
2
3
4
5
6
class ITR(models.Model):
    name = models.CharField(verbose_name='ИТР', max_length=128)
    email = models.EmailField(verbose_name='эл.почта', blank=True, null=True)
 
    def __str__(self):
        return self.name
HTML5
1
<td>{{ spisok.itrs.all|join:", " }}</td>
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.03.2023, 17:40
Помогаю со студенческими работами здесь

Разница в моделях SVEN
Выбираю комп. акустику 5.1 В чём отличие у этих моделей и какая новее? Никак не разберусь Sven IHOO T100 vs Sven IHOO MT 5.1P vs Sven...

Что неудачного в некоторых моделях?
DaHQVPsTKbE. Почему неудачны: реактивный, сбросивший скорость при отделении парашютиста, 11:25 и 11:45?

Моделирование системы на моделях схем
Всем привет! Ребят, помогите разобраться. Есть Q-схема, по ней нужно составить модель в gpss. Подскажите пожалуйста, как это делается.

Identity - использование пользователя в моделях
Добрый день. В рамках обучения делаю небольшую CMS - обычный блог с постами, комментариями, авторизацией. Хочу, чтобы посты и...

Использование общих коллекций в моделях БД
Здравствуйте. Мне было интересно узнать о моделях баз данных и о том, как их лучше всего писать. Недавно я наткнулся на несколько...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru