Можно ли изменить промежуточную модель в отношении ManyToManyField в Django?
Предположим, я сделал что-то вроде следующего, чтобы установить отношения "многие-ко-многим" между двумя моделями:
class Publication(models.Model):
title = models.CharField(max_length=30)
class Article(models.Model):
headline = models.CharField(max_length=100)
publications = models.ManyToManyField(Publication)
Теперь я хочу добавить несколько дополнительных полей к отношениям "многие-ко-многим". Я искал и нашел, что могу сделать что-то вроде этого:
class Publication(models.Model):
title = models.CharField(max_length=30)
class Article(models.Model):
headline = models.CharField(max_length=100)
publications = models.ManyToManyField(Publication, through='Enrollment', through_fields=('article', 'publication'))
class Enrollment(models.Model):
article = models.ForeignKey(Article, on_delete=models.CASCADE)
publication = models.ForeignKey(Publication, on_delete=models.CASCADE)
date_joined = models.DateField(null=True, default=None, blank=True)
class Meta:
unique_together = [['article', 'publication']]
но, как есть способ добавить несколько дополнительных полей и сохранить все предыдущие отношения?