Могут ли два объекта Django иметь несколько промежуточных моделей между ними? - PullRequest
0 голосов
/ 26 сентября 2019

В Django возможно ли создать множество отношений многие ко многим через несколько промежуточных моделей между двумя моделями?

Например, у меня есть пользователь объекта и объект stock_position, и каждый раз, когда пользователь совершает сделку, я хочу создать промежуточную модель (транзакцию), в которой user и stock_position имеют внешние ключи.

1 Ответ

0 голосов
/ 26 сентября 2019

Вы имеете в виду, как это?

class Transactions(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    stock_position = models.ForeignKey(StockPosition,
                     on_delete=models.CASCADE)
    share = models.IntegerField()

    class Meta:
        unique_together = (('user', 'stock_position', 'share'),)

Если вы используете этот уникальный индекс , вы можете вставить столько пользовательских / stock_position дубликатов, сколько хотите, до тех пор, пока shareколонка отличается каждый раз.В противном случае IntegrityError будет поднят (что обычно / всегда должно быть в вашем коде исключением)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...