Форум программистов, компьютерный форум, киберфорум
Python: Django
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
 Аватар для dooomman
0 / 0 / 0
Регистрация: 04.01.2010
Сообщений: 11

Вопрос по моделям в Django

02.04.2011, 20:34. Показов 2023. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть такая задача, создать django проект который управляет базой студентов. Сущности:
Студент - ФИО, дата-рождения, No.студ-билета, группа(FK(Группа))
Группа - Название, староста(FK(Студент))
Я написал такую модель:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from django.db import models
from django.contrib import admin
 
class Student(models.Model):
    fio = models.CharField(max_length=100)
    birthday = models.DateField()
    stud_tick = models.IntegerField()
    group = models.ForeignKey("Group")
 
class Group(models.Model):
    name = models.CharField(max_length=20)
    starosta = models.ForeignKey("Student", related_name="starosta")
 
admin.site.register(Student)
admin.site.register(Group)
Но при таком подходе не удается создать ни одну запись в таблицах, так как поле group в Student требует индекс записи из Group, а starosta в Group требует индекс записи из Student. Можно ли как то выйти из этой ситуации ? Или может использовать другой тип отношений ?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.04.2011, 20:34
Ответы с готовыми решениями:

Задачи по моделям и формам в django
Добрый день. Начал самостоятельно изучать Django и столкнулся с рядом вопросов: 1. Есть таблица Авторы. Есть таблица Книги. В таблице...

Вопрос по мат. моделям
помогите построить математическую модель. Задана матрица производительности автоматических модулей по выпуску деталей А и В в смену....

Подскажите по моделям
У меня задача соединить 2 офиса между собой, возможно еще третий потребуется. Нужна не дорогая железка семейства циско, есть такие в...

3
Программист
 Аватар для motakuji
107 / 111 / 9
Регистрация: 27.09.2009
Сообщений: 331
09.04.2011, 14:49
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from django.db import models
from django.contrib import admin
 
class Student(models.Model):
    fio = models.CharField(max_length=100)
    birthday = models.DateField()
    stud_tick = models.IntegerField()
    group = models.ForeignKey("Group")
    starosta = models.BooleanField()
 
    class Meta:
          unique_together = (("group", "starosta"),)
 
 
class Group(models.Model):
    name = models.CharField(max_length=20)
 
admin.site.register(Student)
admin.site.register(Group)
1
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
21.04.2011, 10:05
Так же можно сделать поле "starosta" необязательным.
Python
1
2
3
class Group(models.Model):
    name = models.CharField(max_length=20)
    starosta = models.ForeignKey("Student", related_name="starosta", null=true, blank=true)
... и/или принадлежность группе
Python
1
2
3
4
5
class Student(models.Model):
    fio = models.CharField(max_length=100)
    birthday = models.DateField()
    stud_tick = models.IntegerField()
    group = models.ForeignKey("Group", null=true, blank=true)
0
15 / 15 / 5
Регистрация: 26.11.2008
Сообщений: 94
21.04.2011, 11:47
А почему вы прописываете название связанной таблицы как строку?
по-моему нужно так:
Python
1
group = models.ForeignKey(Group, null=true, blank=true)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.04.2011, 11:47
Помогаю со студенческими работами здесь

БД по различным моделям ноутбуков
Создать таблицу в среде Builder C ++ с помощю класов . Название ноутбка | Фирма-производитель | Размер дисплея | Процессор | Количество...

Заполнение формы по моделям
Здравствуйте! Помогите пожалуйста с решением такой проблемы. Есть три модели: class c_nar(models.Model): dnar =...

Настроить авторизацию через социальные сети в django с помощью Django Social Auth
Пытаюсь настроить авторизацию через социальные сети в django с помощью Django Social Auth, но вылетаю с ошибкой WrongBackend, не работает...

Обращение к моделям из представлений в Laravel
Является ли хорошей идеей обращаться к моделям из представлений/шаблонов. Пару раз уже такое видел. Типа: {{ Form::select('garage',...

Django 2.0 восстановление пароля через django-allauth
Здравствуйте, у меня возник вопрос, в django-allauth есть функция восстановления пароля по эл. почте, но вот, указав почту, сообщение не...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru