Django - внешний ключ к ManyToMany (через) не работает с SystemCheckError
Используя следующие отношения:
class Author(models.Model):
pass
class Book(models.Model):
authors = models.ManyToManyField(to=Author)
class Contract(models.Model):
work = models.ForeignKey(to=Book.authors.through, on_delete=models.CASCADE)
мы пытаемся получить внешний ключ, указывающий на модель through
без его явного определения
(см. также комментарий Daniel Roseman в Django using a ManytoMany as a Foreign Key )
Не получается SystemCheckError
:
SystemCheckError: System check identified some issues:
ERRORS:
Contract.work: (fields.E300) Field defines a relation with model 'Book_authors', which is either not installed, or is abstract.
Book.authors.through
- это модель, которая не является абстрактной.
Почему это больше не работает (django 3.2)?