Можно ли как-то использовать параметр to field в поле Django ManyToMany?


В поле ForeignKey Джанго я могу указать to_field. Это здорово, так как я могу использовать слизни в качестве внешних ключей и делать эквивалент функциональности "естественного ключа".

Я не могу найти такого поля в ManyToMany. Не понимаю, почему бы и нет. Есть ли какой-то способ сделать это? Возможно, сделать это явно в моей собственной таблице M2M join с through?

1 2

1 ответ:

Я не думаю, что у Django есть встроенный параметр to_field для ManyToManyField. Однако, как вы упомянули, Вы можете вручную создать таблицу through, которая, очевидно, будет использовать поля ForeignKey, которые поддерживают параметр to_field.

Не совсем чистый метод и не следует сухому, но я не думаю, что в настоящее время есть лучший способ решения этой проблемы. Возможно, вам следует подать запрос на функцию для этого.