Можно ли добавить два внешних ключа в один класс в django?

enter image description here

Привет, Гайзз, я новичок в django, так что может ли кто-нибудь помочь мне в этом? Я хочу добавить два внешних ключа в один класс, как я могу это сделать?

Пожалуйста, попробуйте прочитать PEP8 (https://peps.python.org/pep-0008/)

Вы можете добавить больше ForeignKeys к одной и той же модели, но вы должны добавить разные related_name для каждого FK:

class Fees(models.Model):
    course=models.ForeignKey("app2.coursel", related_name='courses', on_delete=models.CASCADE)
    branch=models.ForeignKey("app2.coursel", related_name='branches', on_delete=models.CASCADE)
    fees=models.IntegerField()

И я согласен, на этот вопрос здесь уже отвечали: Django модель с 2 внешними ключами от одной таблицы

Да,

Если вам нужны два внешних ключа, указывающие на две разные модели / таблицы: сделайте @maxim's

  • Пример: 1 на курсы, 1 на сборы

Если вам нужны два внешних ключа, указывающих на одну и ту же модель/таблицу, вы можете сделать Many-to-Many: https://docs.djangoproject.com/en/4.1/topics/db/examples/many_to_many/

  • Пример: 2+ курса

Many-To-Many немного сложнее и привередливее, чем обычные внешние ключи (имо), но это довольно приятно, когда вы привыкнете к этому

Вернуться на верх