Django: не может включать поле ManyToManyField, потому что вручную указывает сквозную модель
Я много раз гуглял и нашел только одно решение добавить пользовательскую промежуточную модель для двух моделей, имеющих отношение к 3-й модели. И я подал заявку как обычно, как и предлагалось, но все еще получаю эту проблему:
не может включать в поле ManyToManyField «термины», так как «термины» вручную задают сквозную модель
models.pyclass Term(models.Model):
class Meta:
db_table = "tbl_term"
name = models.CharField(max_length=32)
class Post(models.Model):
class Meta:
db_table = "tbl_post"
title = models.CharField(max_length=96)
content = models.TextField()
terms = models.ManyToManyField("Term", through="TermRelation")
class TermRelation(models.Model):
class Meta:
db_table = "tbl_term_relation"
term = models.ForeignKey("Term", db_column="id_term")
post = models.ForeignKey("Post", db_column="id_post")
admin.py@admin.register(Term)
class AdminTerm(admin.ModelAdmin):
fieldsets = [
(None, {'fields': ['name']})
]
@admin.register(Post)
class AdminPost(admin.ModelAdmin):
fieldsets = [
(None, {'fields':['title', 'content', 'terms']})
]